наиболее разумный вариант — не просто хороший, какой, вероятно, нашли бы и люди, а лучший из миллионов.
И здесь огромна заслуга математиков.
Нехитрая вроде бы задача: как наиболее рационально организовать грузопотоки при перевозке зерна от десяти колхозов к трем элеваторам? Если бы электронный мозг, пусть даже самый быстродействующий, терпеливо перебирал все возможности до единой, он, мягко выражаясь, не управился бы к сроку. Сменились бы миллиарды поколений, сам бы он рассыпался в прах, а своего мнения так и не успел бы сообщить. Собственно, в ответе и нужда бы отпала. Ясно, что программистам шага не ступить без удобных схем, позволяющих резко сузить зону поисков и быстро «запеленговать» в ней нужный результат.
Впервые такой «снайперский» способ был придуман у нас. Его автор — Л. В. Канторович, ныне академик, сотрудник Новосибирского института математики. Еще в 1939 году он опубликовал исследование «Математические методы организации и планирования производства», которое вскоре выросло в целую дисциплину — линейное программирование. Лишь в 1948 году аналогичные работы развернулись в США, причем были вторично получены многие результаты, к которым уже давно пришел Канторович.
Где ты, «ауреа медиокритас»?
Линейное программирование вышло на просторнейшее индустриально-аграрное поле деятельности, охватив широкий спектр задач: о распределении посевных площадей, о составлении кормовых рационов, о перевозках грузов, о построении транспортных и энергетических сетей, о подборе шихты для выплавки чугуна и стали, о проектировании и эксплуатации нефтяных месторождений, о планировании производства, об автоматическом регулировании…
А говорят, все началось с «головоломки фанерного треста»: как лучше всего раскраивать материалы, чтобы поменьше оставалось отходов… Потом частную задачу обобщили: как организовать весь комплекс мероприятий, чтобы добиться максимального эффекта?
Метод Канторовича, этот изумительно эффективный и универсальный инструмент, доступен даже тем, кто не искушен в премудростях высшей математики, — достаточно постичь школьный курс алгебры.
Зачастую выкладки легко и быстро проделываются вручную — карандашом на бумаге, разве что с помощью логарифмической линейки или арифмометра.
Правда, при нескольких десятках анализируемых факторов (скажем, типов продукции) без электронных вычислителей уже не обойтись. Сколько же времени теперь отнимают у них подобные многовариантные задачи? Понятно, что не век, не год. Тогда, может, месяц, неделю? Несколько минут! И это у «Стрелы», которая вовсе не слывет чемпионом быстродействия.
Вот что значит остроумное математическое решение! Полученное творцом, оно стало для робота руководством к действию.
Математический аппарат, разработанный Леонидом Витальевичем Канторовичем, оперирует лишь теми функциональными взаимосвязями, которые называются линейными. Графически они изображаются прямыми (не кривыми) линиями. Следствия (результаты) здесь прямо пропорциональны причинам (воздействиям). Удвоил площадь делянки — двукратно вырос и валовой урожай, снятый с нее. Если взять шесть дорог, то одновременно по ним удастся пустить в полтора раза больше грузовиков, чем по четырем.
Между тем встречаются и нелинейные зависимости. Они хорошо знакомы оптикам и радиофизикам.
Или вот простой пример из колхозной жизни: время ожидания в очереди, выстроившейся к элеватору, обратно пропорционально количеству пунктов для приема зерна (такая функция изображается кривой — гиперболой).
Состояние системы нередко меняется с течением времени: возьмите летящую ракету, технологический процесс, шахматную партию, военную кампанию. Да и сельскохозяйственное или промышленное производство имеет свою динамику — его показатели в следующем году иные, чем в предшествующем. Здесь применимы другие подходы. Один из них — динамическое программирование. Его основы заложены американцем Р. Беллманом.
По схеме Беллмана задача предварительно членится на ряд последовательных шагов: в играх это ходы, в работе предприятий — квартальные или годовые планы. Оптимальное решение отыскивается для каждого этапа отдельно, но не близоруко («будь что будет, лишь бы сейчас было хорошо»), а с учетом всей цепочки дальнейших мероприятий. Любая тактическая операция допускает временные потери во имя окончательного стратегического успеха.
Следует, однако, оговориться, что линейное программирование тоже допускает многошаговый анализ, так что оно приложимо и к некоторым динамическим задачам (перспективное хозяйственное планирование, выработка оптимальной стратегии в конфликтных ситуациях, скажем, в сражении — при артобстреле, бомбардировке и так далее).
В наши дни теория оптимального планирования и управления бурно прогрессирует. Родившаяся совсем недавно, она успела богато приумножить доставшееся ей наследие — аппарат классического вариационного исчисления. Создатели его тоже занимались задачами на минимум и максимум, но главным образом в академическом плане (допустим: найти систему линий наименьшей протяженности между несколькими пунктами — это похоже на поиск рациональной транспортной сети). В современном вариационном исчислении, а оно нашло широкое применение в механике, оптике, электродинамике, важные результаты принадлежат М. А. Лаврентьеву, Н. Н. Боголюбову, Н. М. Крылову, Л. А. Люстернику и другим советским ученым.
Новые блестящие страницы в эту главу математики вписаны за последние годы Л. С. Понтрягиным и его учениками. Речь идет о знаменитом «принципе максимума». Он стал теоретической опорой в практике оптимального управления.
Нынешняя технология имеет дело со сложными процессами и агрегатами. Нелегко найти для них наиболее правильную линию поведения, которая обеспечила бы максимальную их эффективность. Вот, к примеру, синтез аммиака. Его ведут при сотнях градусов, ускоряя тем самым превращение исходных веществ в конечный продукт. Только вот беда: нагревание стимулирует и обратную реакцию — разложение аммиака на водород и азот. А это явно нежелательно. Понизить температуру? Нельзя: взаимодействие будет слишком вялым. Чтобы непрерывно подбадривать его без ущерба для производительности, давление поднимают до тысячи с лишним атмосфер.
А если и того пуще? Да, но тогда придется увеличить затрату электроэнергии, чтобы быстрее вращать моторы компрессоров. Себестоимость продукта незамедлительно поползет вверх. Кроме того, если подать особенно мощный напор, тем паче резко, рывком, то, чего доброго, нарушится герметичность труб или самой камеры. Так недолго и до аварии.
Чрезмерная интенсификация процесса не лучше недогрузки, ибо сопряжена с преждевременным износом установок, с возросшими эксплуатационными расходами, причем ей отнюдь не всегда сопутствует увеличение продуктивности, по крайней мере заметное и оправданное.
Ограничения, ограничения, ограничения — на каждом шагу ограничения. Тем не менее можно и нужно найти среди множества вариантов «золотую середину» («ауреа медиокритас», как говорил Гораций), такое сочетание технологических параметров, которое будет наиболее целесообразным в допустимых пределах, — оптимальный режим. И не только найти его, а. поддерживать сколь угодно долго, разумно меняя тактику по ходу дела. Эту проблему призвано решить оптимальное управление. Иногда оно напоминает балансирование на канате: малейшее отклонение в сторону рискованно, ибо грозит потерями — либо из-за нежелательной перегрузки оборудования, либо из-за недоиспользования его резервов. Такие «шатания» нередко обусловлены всякого рода случайностями, неравномерностями, которым подвержена работа любого технического объекта — будь то реактор, самолет или ракета. Умные