Кажется, что все просто: надо дать каждому рабочему «его» работу, ту, на которой его индивидуальная производительность труда максимальна. Однако убедившись, что моделью данной ситуации является «транспортная задача», это решение бракуется, поскольку оно похоже на правило «минимального расстояния», отвергнутое при решении «транспортной задачи».
Итак, предполагается, что рабочие — это поставщики; мощность каждого поставщика (рабочего) равна единице. Потребитель — работа; спрос тоже равен единице. Расстояние — это индивидуальная производительность. А вот поставка вводится искусственно: считается, что она равна единице, если рабочий на работу назначен, и нолю, если не назначен. Тогда все сходится. Поскольку каждый рабочий может выполнять лишь одну работу, значит, в каждой строке может быть лишь одна единица-поставка, остальные ноли, следовательно, сумма поставок в строке равна единице (мощность). Аналогичное рассуждение справедливо для столбца.
В таблице 12 представлен такой план распределения работ для пяти рабочих и пяти работ. Согласно этому плану рабочий № 1 выполняет четвертую работу, рабочий № 2 — пятую, № 3 — вторую, № 4 — первую, № 5 — третью. (Цифра в верхней части каждой клетки — производительность.)
Табл. 12.
Описанная производственная ситуация хорошо моделируется «транспортной задачей». Но она имеет свое «имя» и называется «задачей о назначениях». «Задача о назначениях» тоже имеет довольно широкое применение. Так, размещение заказов по однотипным предприятиям формулируется аналогично распределению работ по рабочим, только вместо «№ рабочего» в таблице надо поставить слово «№ предприятия», вместо «№ работы» — «№ заказа», а вместо производительности — «выгодность».
Можно привести пример совсем уже сложной экономической ситуации, моделью которой является все та же «транспортная задача». Это проблема развития и размещения производства. Формулируется она так.
Пусть известен спрос на некоторый вид продукции по всей территории страны. Известно, в каких пунктах есть предприятия по выпуску данной продукции и в каких могут быть построены новые. Для всех действующих предприятий известна себестоимость выпускаемой продукции. Можно определить также затраты на реконструкцию их с целью расширения производства, а также себестоимость продукции после расширения.
Для предприятий, которые могут быть заново построены, известны различные варианты их мощности, капиталовложения и себестоимость по каждому варианту строительства.
Кроме того, может быть разработана транспортная сеть, которая будет функционировать в период, для которого осуществляется планирование. Это значит, что можно рассчитать затраты на перевозку единицы груза из всех пунктов производства (включая те, которые предполагается построить) во все пункты потребления.
Требуется определить, какие предприятия должны быть расширены и до какой мощности, какие ликвидированы или переведены на выпуск другой продукции, какие вновь построены, чтобы весь спрос был удовлетворен. При этом сумма затрат на производство и транспортировку продукции должна быть минимальной.
Несмотря на обилие исходных данных, на многочисленные ограничения и оговорки, моделью данной ситуации является тоже «транспортная задача», хотя и более сложная, чем рассмотренные раньше. В ней отсутствует лишь ограничение, что сумма мощностей должна быть равна сумме спросов. Более того, поскольку в качестве поставщиков выбраны все предприятия, на которых в принципе может быть произведена данная продукция, а также действующие со всеми вариантами расширения, и те, которые могут быть построены, то их суммарная мощность окажется, конечно же, больше общего спроса. И лишь в процессе решения задачи из их числа отбираются те, у которых затраты на производство и транспортировку продукции минимальны. Кстати, одновременно с решением задачи размещения получается и оптимальный план перевозок.
Из всех рассмотренных примеров следует общий вывод: «транспортная задача» давно переросла рамки модели планирования транспортировки однородного груза, от которого она получила название. В настоящее время она представляет собой достаточно общую модель, описывающую большое количество управленческих ситуаций. Несомненным достоинством ее является изученность и простота алгоритмов решения.
И поэтому, приступая к анализу своей ситуации принятия решения, каждый экономист должен прикинуть, не укладывается ли она в рамки транспортной модели. Если да, то должен считать, что ему повезло!
— По-видимому, таких универсальных моделей должно быть не очень много?
— Да, не более двух-трех десятков.
— И все с такой широкой сферой применения?
— Вот этого о них не скажешь. Некоторые модели почти не выходят за рамки управленческих ситуаций, для которых они разработаны. А есть модели-универсалы. Несомненным «чемпионом» среди них является модель «линейного программирования».
«Линейное программирование» не имеет ничего общего с составлением программ для ЭВМ. Термин этот был предложен американским ученым Т. Купмансом и, как впоследствии выяснилось, оказался крайне неудачным в основном как раз из-за ассоциаций с программированием. Фактически же «линейное программирование» представляет собой набор методов решения экстремальных, чаще всего плановых, экономических задач. Многие ученые считают, что более удачным был бы термин «линейное планирование». А слово «линейное» здесь употреблено потому, что все зависимости, используемые при построении этих моделей, линейные, то есть на графике имеют вид прямой линии. Но об этом уже говорилось.
Чтобы от слов о «линейном программировании» перейти к нему самому, стоит рассмотреть такой пример планирования.
Пусть руководство уже упоминавшейся фирмы по выпуску мебели «Двенадцать стульев» решает проблему, какую мебель выпускать в следующем месяце. Фирма, как известно, умеет делать гарнитуры «Мадам Петухова» и «Генеральша Попова». Каждый вид продукции характеризуется, во-первых, затратами высококачественных пород древесины и импортных обивочных материалов, а во-вторых, размерами получаемой прибыли. Естественно, что ресурсы фирмы, дерево и материалы ограничены. Необходимо составить план производства, при котором прибыль была бы максимальна.
Итак, правление фирмы сидит перед таблицей, в которую сведены все данные, и думает, как лучше решить эту задачу.
Табл. 13.
Заместитель председателя правления фирмы И. Воробьянинов берет слово:
«Учитывая, что за „генеральшу“ платят больше, — говорит он, — считаю, что необходимо выпускать названный гарнитур в количестве 10 штук, а оставшиеся неиспользованными 60 кубометров древесины продать налево дружественной фирме „Милости просим“. Тем самым мы получим 5 тысяч рублей прибыли плюс…»
«Не надо, Киса, — жестом останавливает его председатель правления О. Бендер, — сегодня ночью мне пришла в голову плодотворная дебютная идея. Сейчас я вам ее изложу…»
Гроссмейстер еще не знает, что его идея уже известна под названием «линейного программирования» и что он получил очередной удар со стороны классиков. Он бодро продолжает:
«Допустим, что мы решим выпускать X гарнитуров „Мадам Петухова“ и Y гарнитуров „Генеральша Попова“. Поскольку на каждый гарнитур первого типа надо 10 кубометров древесины, а на каждый гарнитур второго типа — 5 кубометров, то всего нам понадобится 10 · X + 5 · Y.
Понятно, что это количество не должно превышать 110 кубометров. Запишем это так: 10x + 5y < 110.
Данное условие, совместно с другим естественным условием: x и у не могут быть отрицательными — на графике изображается в виде некоторой области (на приведенном справа рисунке она заштрихована). Наклонная граница представляет собой график линейной зависимости: 10x + 5y = 110. Неравенство в предыдущем выражении означает, что данному условию удовлетворяют все внутренние и граничные точки области. В этом легко убедиться. Точка с координатами x = 4, y = 8 удовлетворяет неравенству, так как 10 · 4 + 5 · 8 < 110. При подстановке координат любой внутренней или граничной точки неравенство будет справедливо.