|
"Матан суров, но это матан" (вместо эпиграфа) |
Как всем известно, придя к власти, коммунисты заставят управлять государством кухарок. Разумеется, не сразу. Только после того, как кухарки научатся этому нехитрому делу. Конечно, коммунисты пока что не у власти, и когда её ещё добьются - не понятно, а в нынешней олигархической России к реальному управлению государством не подпускают не только кухарок, но и более квалифицированных специалистов, и даже (о, ужас!) некрупных капиталистов. Однако учиться не только никогда не поздно, но и никогда не рано. Данная статья, надеюсь, поможет разобраться в таком важном аспекте социалистического общества, как экономическое планирование. Примеры постараюсь приводить понятные кухаркам, в особые математические дебри не влезать, ограничусь элементами высшей математики, которые проходят даже в гуманитарных вузах и кулинарных техникумах на младших курсах.
Что такое планирование, и зачем оно нужно
Сначала определимся, о чём идёт речь, когда мы говорим о плановой экономике. Ведь, как известно, что-то планируют в своем деле не только социалистические государство, но и капиталисты. Особенно этим «грешат» крупные корпорации, которые, по степени забюрократизацированности, смело дадут фору советским чиновникам из произведений самых острых сатириков. Простейший бизнес-план выглядит примерно так: «Возьму я в банке 100 долларов, куплю на них 100 грязных яблок, помою и продам по 1,5 доллара за штуку. Стану богаче на 50 долларов. И так каждый день. Через год у меня будет 18'250 долларов. Верну банку кредит - 100 долларов, проценты по кредиту - 20 долларов. В итоге 18'130 долларов за вычетом 13% налогов - мой чистый годовой доход». Понятно, что в этом плане много неопределённостей внеэкономического характера, способных помешать его исполнению: яблоки могут украсть, или они пострадают от очередного японского землетрясения. Кроме того, в план могут закрасться ошибки предпринимателя: например, в данной местности яблоки не едят по религиозным соображениям, и продать их будет заведомо невозможно. Но, помимо форс-мажора и предпринимательских ошибок, существуют риски другого рода, и в нашем примере они гораздо более вероятные и могут помешать исполнению нашего плана, практически, на всех этапах: 1) банк может не дать кредит на данных условиях (или денег нет, или просто не захочет) 2) 100 долларов может не хватить на покупку 100 грязных яблок (даже если сейчас на рынке именно такие расценки, в течение года они могут сильно поменяться) 3) поставщики могут вообще перестать продавать грязные яблоки (будут мыть их сами) 4) цены на мытые яблоки могут сильно упасть (из-за конкуренции или обнищания населения) 5) государство может поменять налоговую политику. В итоге, из-за того, что предприниматель действует сам по себе, а его партнёры и конкуренты - сами по себе, бизнес-план любого предпринимателя может быть либо весьма приблизительным, либо заведомо ошибочным. Сверхприбыльное дело может внезапно стать убыточным и наоборот. И дело тут, прежде всего, не в глупости отдельных бизнесменов или случайностях типа землетрясений и засух, а в тех экономических принципах и отношениях на которых строится капиталистическая экономика, в рынке и частной собственности. Пока экономика поделена между независимыми частными собственниками, каждый из которых действует независимо от других, преследуя только свою выгоду, нормальное полноценное планирование не возможно, возможны только благие пожелания типа «заработать на мытье яблок 18 тыс. долларов за год» или «удвоить ВВП за пять лет». Полноценное планирование может быть только глобальным, и необходимое (но не достаточное) условие для него - отсутствие частной собственности на предприятия.
Часто приходится слышать, что во многих рыночных экономиках часть предприятий принадлежит государству. А в некоторых - так и вообще, очень значительная или стратегически важная часть. А раз так, то эти страны - социалистические, или почти социалистические. Однако государственная собственность нас смущать не должна. Дело в том, что государственные предприятия при капитализме обычно в своей работе руководствуются тем же, чем и частные - прибылью именно этого предприятия. Кроме того, существуют они в тех же самых рыночных условиях: занимают деньги, привлекают дополнительный акционерный капитал, приобретают сырьё и рабочую силу, продают продукцию на том же самом рынке, что и любой частный капиталист. Попытки поставить государственные предприятия в особые условия (например, налоговые льготы) заметно способствуют развитию коррупции, поэтому обычно не популярны.
Итак, в плановой экономике планирование должно осуществляться не на каждой фирмочке по-отдельности, а глобально - во всей экономике сразу. Для этого вся экономика должна как минимум находиться под единым контролем (государства, демократического общества или кровавого тоталитарного диктатора - в данном случае это не важно). В то же время, у этого глобального управляющего экономикой не должен развязываться пупок от столь непростой задачи. Поэтому, нам придётся отказаться от устоявшихся стереотипов и не ссылаться на опыт экономики СССР. Дело в том, что даже в середине 80-ых годов ХХ века, т.е. непосредственно накануне перестройки, ещё не существовало технической возможности проводить такое планирование, своевременно корректировать план, проверять насколько он точно исполняется и вообще, насколько он адекватен реальной жизни. В итоге государство, планируя из единого центра только самые общие показатели, передавало значительную часть задачи по планированию самим предприятиям, которую предприятия решали относительно независимо друг от друга, исходя из собственной выгоды. Т.е. ситуация качественно не сильно отличалась от частной собственности в капиталистическом мире, разве что прибыль шла не в карманы небольшого процента богачей, а тратилась на нужды всего народа (что, разумеется, тоже немалый плюс). Конечно, государство пыталось создать такие условия, способы мотивации и оценки работы предприятий, чтобы им было выгодно только то, что выгодно обществу в целом. Но получалось не очень. За десятки лет руководители страны перепробовали много разных способов, и, в конце концов, остановились на рыночном. Чем всё закончилось - мы знаем. Таким образом, любые возражения типа «а вот в вашем совке...» и «мы это уже проходили», которые часто приходится слышать из уст некоторых кухарок, заранее отметаются как не имеющие непосредственного отношения к делу.
Как же подойти к задаче оптимального планирования производства? Сделаю еще одно небольшое, но необходимое лирическое отступление. Практически вся разумная человеческая деятельность идёт по пути от «делаем на глазок» до точных научных расчётов. Дикари делали первые луки и стрелы практически наобум, руководствуясь собственным жизненным опытом, некими соображениями «здравого смысла», суевериями и ещё много чем. Но вот даже простой школьный курс механики им был не знаком, применить науку в своем наукоемком производстве они не могли при всём желании. При изготовлении современных спортивных луков и стрел применяются достижения и современной механики, и биологии, и науки о материалах. Возможно, даже применяется компьютерное моделирование. Так сложилось, что «технические» области человеческой деятельности прошли этот путь быстрее, чем «гуманитарные». Машины и приборы уже очень давно перестали делать наобум, предпочитая научный расчёт. В экономику, социологию, лингвистику математика пришла сравнительно недавно, да и то во многих областях этих наук игнорируется. Объяснение этому дал еще в 17 веке английский философ Томас Гоббс: «если бы математические аксиомы затрагивали наши страсти, они по сей день были бы предметом жестоких споров». К счастью для математиков, сама по себе математика ничьих интересов не затрагивает, но будучи применённой к некоторым практическим задачам, наступает на мозоли довольно влиятельным людям. Поэтому тормозится развитие не собственно математики, а процесс её внедрения в некоторые науки (прежде всего - экономика, управление). Так вот, основной аргумент против плановой экономики со стороны критически настроенных кухарок, обычно звучащий примерно так: «современное производство устроено крайне сложно, всё точно спланировать невозможно, сбалансированная экономика и план - вещи не совместимые», следует читать немного иначе: «если составлять план на глазок, то результат получится неудовлетворительный». И с этим утверждением трудно не согласиться. Однако планировать «на глазок» никто и не предлагает, мы будет подходить к вопросу строго, и составлять план настолько точно, насколько это позволяют входные данные и наши вычислительные возможности.
Производственный баланс
Сам процесс общественного производства должен быть интуитивно понятен любой кухарке: в каждом технологическом процессе (обычно, тщательно задокументированном) на вход поступают некоторые ресурсы (сырье, энергия, детали, часы работы некоторого оборудования или людей), на выходе получаем продукцию и отходы производства. Аналогичным образом, когда кухарка приготовляет некоторое блюдо, она руководствуется кулинарным рецептом, согласно которому расходуются определённые ингредиенты, а на выходе получается определённое количество готового блюда. Именно на понятном любой кухарке примере рецептов и приготовления блюд, мы и рассмотрим научный подход к планированию. Аналогом глобального экономического планирования может выступать планирование приготовления блюд для особо крупного банкета, составления списка продуктов, которые необходимо заранее закупить. Либо наоборот, определения количества блюд, которые реально приготовить из имеющихся на складе продуктов.
Для составления продуктового баланса нам потребуется для каждого рецепта выписать, сколько какого продукта расходуется, и сколько в результате получается. Возьмём, к примеру, простейший рецепт яичницы. Согласно рецепту, на одно блюдо требуется 2 куриных яйца и 1 столовая ложка растительного масла, соль по вкусу. Всё, что получается на выходе, будем записывать со знаком «+», а то что тратится - со знаком «-». Также очень важно оперировать одинаковыми единицами измерения. То есть, масло во всех рецептах должно измеряться либо в столовых ложках, либо в граммах, либо в литрах. Не важно в каких, главное - чтобы всегда в одних и тех же единицах. Количество соли из рецепта не известно, т.к. вкусы у всех разные. Но, к счастью, мы готовим не одну порцию, мы обсчитывает огромный банкет. А в масштабах банкета уже работают законы статистики, поэтому мы может выяснить, какой процент потребителей любит несолёную яичницу, какой среднесолёную и т.д. Затем, посчитать сколько потребуется соли в среднем на одну порцию, и поручить поварам готовить яичницу разной степени солёности в этих пропорциях. Допустим, мы выяснили, что в среднем на одну порцию надо 0,2 г соли. В итоге получим на каждый рецепт запись такого рода: «1) +1 порция яичницы, -2 куриного яйца, -17 г. растительного масла, -0,2 г. поваренной соли»
Все известные рецепты внесём в большую таблицу. Каждая строка таблицы (математики называют такую таблицу матрицей) соответствует одному рецепту, каждый столбец - продукту, т.е. ингредиенту или блюду (некоторые продукты в одних рецептах будут выступать в качестве ингредиента, а в других - продукта). Обозначим эту матрицу буквой T:
Яичница, п | Яйцо, шт | Р. масло, г | Соль, г | Омлет, п | Молоко, мл |
+1 |
-2 |
-17 |
-0,2 |
0 |
0 |
0 |
-2 |
0 |
0 |
+1 |
-20 |
От критиков плановой экономики часто приходится слышать, что в случае реальной современной экономики (а не банкета) таблица получится поистине огромной, ни в какие компьютеры не влезет, а заполнение её - слишком трудоёмкая задача. Действительно, в современной экономике существуют миллионы различных видов продуктов и, по-видимому, миллионы различных производственных цепочек. Матрица размером миллионы на миллионы, и в самом деле, не влезет в оперативную память ни одного компьютера, проводить с ней вычисления будет практически не возможно. Однако, как известно любой кухарке, в любом рецепте применяется весьма ограниченный набор ингредиентов. Для приготовления обычного омлета не требуется ни рыба, ни кокосовая стружка, ни грибы. То есть, возможно и существует рецепт омлета с грибами, но это уже другой рецепт и другой омлет. Аналогичная ситуация и в промышленном производстве. То есть, наша матрица будет состоять почти исключительно из одних нулей. Такие матрицы называются разреженными, они хранятся в памяти компьютера в особом компактном виде (проще говоря, нули не хранятся), и операции над ними производятся тоже по-особому.
Что касается заполнения таблицы, то информация о необходимых ингредиентах и их пропорциях является всего лишь частью (довольно небольшой) нормального кулинарного рецепта. Поэтому задача составления нового рецепта вкусной яичницы на порядки сложнее задачи добавления новой строчки в матрицу. То же самое можно сказать и о техническом описании любого производственного процесса. Если у нас есть подробное и точное описание процесса сборки автомобиля или мобильного телефона, то выделить из него информацию о необходимых для сборки компонентах и их количестве - задача сугубо техническая, к тому же это легко автоматизировать.
Теперь предположим, что нам требуется не одна порция яичницы, а десять, и не одна порция омлета, а 15. Запишем это условие в виде еще одной матрицы, обозначим её буквой v (матрицу, состоящую из одного столбца или одной строки, называют вектором):
Рецепт яичницы | Рецепт омлета |
10 |
15 |
В таком случае умножаем все числа в первой строке нашей таблицы T на 10, а во второй - на 15, то есть как бы применяем первый рецепт 10 раз, а второй - 15:
Яичница, п | Яйцо, шт | Р. масло, г | Соль, г | Омлет, п | Молоко, мл |
+10 |
-20 |
-170 |
-2 |
0 |
0 |
0 |
-30 |
0 |
0 |
+15 |
-300 |
Затем, складываем числа в каждом столбце и записываем сумму для каждого столбца в отдельности. Обозначим полученную матрицу буквой p:
Яичница, п | Яйцо, шт | Р. масло, г | Соль, г | Омлет, п | Молоко, мл |
+10 |
-50 |
-170 |
-2 |
+15 |
-300 |
Это нехитрая операция называется умножением матриц, и обозначается довольно просто:
Таким образом, с помощью простейшей операции матричной алгебры можно посчитать, сколько ингредиентов будет израсходовано и сколько блюд получится, если мы применим каждый из рецептов нужное количество раз.
В рассмотренном примере всё довольно просто: ни один из продуктов не может являться одновременно ингредиентом в каком-либо рецепте. Поэтому, если нам точно известно, сколько для банкета требуется яичниц и омлетов, определить вектор v не составляет труда. Но, если мы добавим рецепт «Бифштекс с яйцом», то ситуация усложнится:
Яичница | Яйцо | Масло | Соль | Омлет | Молоко | Бифштекс | Биф. с яйцом |
+1 |
-2 |
-17 |
-0,2 |
0 |
0 |
0 |
0 |
0 |
-2 |
0 |
0 |
+1 |
-20 |
0 |
0 |
-0,5 |
0 |
0 |
0 |
0 |
0 |
-1 |
+1 |
Теперь, чтобы на выходе получить 10 порций яичницы потребуется применить первый рецепт не 10 раз, а, возможно, больше. Если нам помимо матрицы T известно точно, сколько должно получиться продуктов и должно быть затрачено ингредиентов, т.е. вектор p, то чтобы определить, сколько раз необходимо применить каждый из рецептов, нам потребуется решить уравнение (1) относительно v. Из линейной алгебры известно, что если это решение существует, то оно определяется так:
где T+ - так называемая псевдо-обратная матрица.
Конечно, задача эта несколько абсурдна. Чтобы узнать, сколько раз нам нужно применить тот или иной рецепт, нам нужно точно знать, сколько продуктов нам потребуется израсходовать. Но как раз это нам и не известно, это мы и хотим найти, причём строго по-научному. Поэтому мы поступим следующим образом. Добавим в наш список рецептов для каждого вида сырья довольно специфические «рецепты» вида: «пойти в магазин и принести из него 1 куриное яйцо». Пока будем считать, что в магазине продуктов неограниченное количество, для нас они бесплатны, либо денег нам заведомо хватит. Добавим соответствующие строки в производственную матрицу T (нули я писать не буду):
Яичница | Яйцо | Масло | Соль | Омлет | Молоко | Бифштекс | Биф. с яйцом |
+1 |
-2 |
-17 |
-0,2 |
|
|
|
|
|
-2 |
|
|
+1 |
-20 |
|
|
-0,5 |
|
|
|
|
|
-1 |
+1 |
|
+1 |
|
|
|
|
|
|
|
|
+1 |
|
|
|
|
|
|
|
|
+1 |
|
|
|
|
|
|
|
|
|
+1 |
|
|
|
|
|
|
|
|
+1 |
|
В векторе p мы укажем, сколько продуктов и ингредиентов у нас должно остаться в результате готовки (возможно, на банкете будет подаваться молоко в стаканах, а не только яичница и омлет). Тогда, решая уравнение (1) мы получим точное количество ингредиентов, которые потребуется закупить в магазине.
В некоторых случаях рецепт допускает использование различных ингредиентов, при этом вопрос выбора ингредиента существенной роли не играет. Например, в рецепте яичницы указано «растительное масло», т.е. использовать можно и подсолнечное, и кукурузное, и оливковое. В омлете можно использовать как коровье молоко, так и козье. В других же рецептах разновидность масла или молока может быть существенным, в каком-то рецепте может требоваться, например, строго оливковое масло. Поэтому, в производственную матрицу необходимо будет добавить по столбцу на каждый вид растительного масла и молока. Каким же образом нам отразить в таблице, что яичницу можно жарить на любом растительном масле?
Самый простой способ - записать несколько рецептов яичницы, различающихся только используемым маслом. Так же придётся поступить со всеми остальными рецептами, в которых используется не конкретизированное растительное масло. К сожалению, такой подход сильно раздувает производственную матрицу (особенно если в рецепте не один опциональный ингредиент, а несколько) и затрудняет её изменение. Если у нас есть 100 таких рецептов и 3 вида масла, то в таблице им будет соответствовать 300 строк. Если мы добавим новый вид - рапсовое масло, нам придётся добавить в таблицу сотню новых строк.
Второй способ чуть хитрее: мы добавим новые виртуальные «рецепты» вида: «израсходовать 1 грамм подсолнечного масла, получить 1 грамм растительного». Можно считать, что этот «рецепт» описывает процедуру переклеивания этикетки на бутылках и не требует никаких дополнительных затрат. Для описания 100 рецептов и 3 видов масла нам уже потребуется не 300, а всего 103 строки. Кроме того, добавляя новый тип растительного масла, нам нужно будет добавить в матрицу всего одну строку.
В реальной экономике приходится действовать в условиях ограниченных располагаемых ресурсов и, пользуясь этими ресурсами, требуется добиваться наилучших результатов. То есть, в случае планирования нашего банкета, мы на самом деле не может неограниченно опустошать соседний магазин или склад. Кроме того, каждый рецепт требует задействовать определённое количество техники и человеко-часов, которые тоже ограничены. Ну и, очевидно, на банкете должно присутствовать какое-то минимальное количество некоторых блюд, без которых банкет - не банкет. Можно считать, что в общем виде, такие ограничения будут иметь следующий вид:
a11v1+a12v2+a13v3+...+a1nvn≤b1 a21v1+a22v2+a23v3+...+a2nvn≤b2 ...
Или в матричном виде:
где A и b - матрица и вектор, описывающие ограниченность ресурсов. Ограничения такого вида называются линейными.
Второе ограничение очевидно:
Как сказал поэт, фарш невозможно провернуть назад, и мясо из котлет не восстановишь. Неравенство (4) выражает этот факт на языке математики: ни один рецепт нельзя применить отрицательное число раз.
Теперь самое интересное. Учитывая ограничения (3) и (4), нам надо подобрать такой вектор v, чтобы результат нашего производства был наилучшим. Возьмём, к примеру, наших современных «эффективных собственников». Их задача - подобрать так параметры производства, чтобы получить как можно больше прибыли. Такая зависимость между изменяемыми параметрами и тем, что мы хотим сделать оптимальным, называется целевой функцией. Целевая функция при капитализме (прибыль) - это разница между рыночной ценой всех произведенных товаров и рыночной ценой всего затраченного в процессе производства. В случае банкета это будут цены всех блюд и цены всех закупленных ингредиентов (а так же электричества, зарплаты работников и т.д.)
Стоимость всего, что получилось в результате производства, находится путём умножение i-го продукта или ингредиента на его цену ki и сложения результатов:
pрезультат=p1k1+p2k2+...+pnkn
Данная операция называется скалярным произведением вектора-строки p на вектор-столбец k:
pрезультат=pk=(vT)k
Стоимость затраченных продуктов получается путем умножения элементов вектора v, соответствующего походу в магазин за определённым ингредиентом, на соответствующую цену:
pзатраты=v1k'1+v2k'2+...+vnk'n=vk'
где k'i равно зарплате повара в случае рецепта блюда, цене ингредиента в случае «рецепта» типа «поход в магазин» и нулю в случае «рецепта» типа «переклеивание этикетки».
Тогда прибыль, которую требуется оптимизировать эффективному собственнику, будет считаться так:
f(v)= pрезультат-pзатраты=(vT)k-vk'=v(Tk)-vk'=v(Tk-k')=vc |
(5) |
где c=Tk-k'
Такая зависимость называется линейным функционалом. А задача поиска максимума линейного функционала вида (5) при ограничениях вида (3) и (4) называется задачей линейного программирования (непосредственного отношения к написанию программ для компьютеров она не имеет, просто название такое). То есть, действительно эффективный собственник должен был бы в своем бизнесе решать задачу линейного программирования. Убеждён, что подавляющее большинство бизнесменов и слов-то таких не знают, никогда не слышали о математических методах решения этой задачи, и к задаче максимизации собственной прибыли подходят весьма дилетантски. И математическим методам предпочитают менее замысловатые. Например, поменьше платить работникам, заставляя их больше работать, либо экономить на качестве сырья, уклоняться от налогов - несомненно проще, чем заморачиваться с математикой. Но это, конечно, нас не должно касаться, это личное дело самого бизнесмена (он же свою прибыль максимизирует, не нашу), его работников (которые соглашаются с урезанием их зарплат) и потребителей (которые потребляют менее качественное). Однако, капиталисты никогда не задавались целью организовать производство оптимальным способом, это им никогда не требовалось. Экономическая конкуренция сродни бегству от разъярённого медведя: не нужно бежать быстрее медведя, нужно бежать быстрее своих товарищей.
Общественные потребности
При социализме, разумеется, не будет ни капиталистов, о чьей прибыли нужно будет заботиться, ни рыночных цен. В разных ситуациях (этот выбор я предоставляю сделать демократическим органам социалистического общества, либо, за неимением такового, кровавому тоталитарному диктатору единолично) может потребоваться либо максимизировать удовлетворённость потребностей общества произведёнными товарами, услугами, при фиксированных затратах ресурсов (в том числе, трудовых), либо минимизировать затраты труда (и прочих ресурсов) при фиксированном уровне благосостояния общества. Возможно также некоторое сочетание этих подходов. Во всех случаях задачу построения оптимального производственного плана можно будет свести к задаче линейного программирования.
Здесь обычно встаёт вопрос, каким образом мы будем вычислять “удовлетворённость общественных потребностей”, или другими словами, строить целевую функцию. Неолиберальный экономист Людвиг фон Мизес, например, вообще утверждал, что никакого общественного интереса не существует, соответственно и целевую функцию построить вообще не возможно. То есть, наша плановая экономика мало того, что не сможет нормально работать, но ещё и не будет знать, к чему стремиться и чего добиваться. Посмотрим ещё раз на вид линейной целевой функции (5):
f(v)=vc=(pT+)c=p(T+c)=pg=g1p1+g2p2+...+gnpn |
(6) |
где g=T+c
Из выражения (6) видно, что целевая функция устроена таким образом, что при увеличении производства 1-го продукта на g2 единиц, одновременном уменьшении производства 2-го продукта на g1 единиц и сохранении уровня производства всех остальных продуктов на прежнем уровне, её значение не меняется. То есть, если бы функция f(v) действительно выражала общественные интересы и удовлетворённость общественных потребностей, то с точки зрения всего общества замена одного продукта на другой в заданной пропорции g1</i>/g2 не меняла бы эту степени удовлетворённости.
Конечно, у всех людей вкусы и потребности разные. У кого-то аллергия на молоко, и омлет ему противопоказан, кто-то любит яичницу и ни на что её не променяет, кто-то согласен променять омлет на яичницу, но только при условии, что порций будет две вместо одной, а кому-то - вообще всё равно что есть. Но факт в том, что если всё общество лишить 1 тонны яичницы, и начать наращивать количество омлета, то начиная с некоторого количества омлета (допустим, с полутора тонн) при правильном распределении продуктов между населением, недовольных такой заменой не будет. Найдя отношения таких предпочтений для основных продуктов, мы автоматически получим целевую функцию f(v).
Для измерения этих соотношений g общественных потребностей можно воспользоваться разными способами. Во-первых, некоторые отношения можно устанавливать декларативно (например, потребители водки не всегда могут адекватно оценить полезность этого продукта, тут лучше спросить мнения у медиков или даже у Кровавого Тоталитарного Диктатора). Во-вторых, можно проводить опросы. Да-да, именно как в той рекламе: “согласны ли вы заменить одну пачку обычного порошка на пять пачек необычного?” К сожалению, этих способов не достаточно: ученые могут определить, все ли йогурты одинаково полезны, а вот одинаково ли они вкусны с точки зрения населения, не спросив населения, вряд ли получится. В то же время, участники опроса не несут никакой ответственности за свои ответы, поэтому могут его “затроллить”. Легко сказать, что стаканчик йогурта гораздо ценнее трехпалубной яхты, если независимо от твоего ответа, никто у тебя йогурт не отберёт и яхту не даст. Для уточнения соотношений полезности надо дать людям возможность поиграть в некоторую игру, в которой они реально бы отказывались от одних продуктов в пользу других в некотором соотношении. Такой “игрой” может являться выдача товаров народного потребления населению в обмен на деньги (трудовые квитанции) по фиксированным ценам. Причём, суммарная цена всех произведённых товаров должна быть равна суммарной выплаченной зарплате. Если нам удалось установить цены таким образом, что не возникает нехватки (дефицита) одних товаров и избытка других, то эти цены адекватно отражают соотношения общественных потребностей. Действительно, если у нас возникает избыток яичницы и дефицит омлета, значит мы не угадали соотношение полезности, и население не готово обменивать омлет на яичницу в заданном отношении, ценность омлета относительно яичницы следует увеличить.
Понятно, что способы определения целевой функции довольно приблизительны. Да и сами предпочтения людей не постоянны: изменяются вкусы, мода, появляются новые продукты. То есть, эволюционирует и сама целевая функция. Также, возможны небольшие отклонения в производственных процессах от задокументированного стандарта. Руководствуясь неточными, или уже неактуальными исходными данными, можно завести плановую экономику совсем не туда, куда следует. В кибернетике - то есть науке об управлении, прежде всего в области техники - данная проблема решается введением в систему обратной связи. Создавать плановую экономику без адекватной и надежной обратной связи - дело заведомо гиблое и обречённое на провал. Роль такой обратной связи должны играть описанные в предыдущем параграфе меры по сбору информации об общественных потребностях, а так же мониторинг всего общественного производства и распределения в реальном времени. На основе этот информации план должен корректироваться ежедневно, если не чаще.
Заключение
Впервые задачу линейного программирования сформулировал советский математик и экономист Леонид Канторович в 1939 году (любопытно, что это единственный советский учёный, получивший впоследствии нобелевскую премию по экономике). Довольно удобный и эффективный алгоритм решения этой задачи - симплекс-метод - был предложен американским ученым Джорджем Данцигом в 1947 году. Резонно задать вопрос, почему, как я утверждаю, в СССР полноценное глобальной экономическое планирование так и не было реализовано? Может быть тут виной злые коммунисты или это в принципе - невозможная утопия? На самом деле, ни то, ни другое.
Во-первых, вычислительная техника в «советские времена» была ещё крайне слаба по современным меркам. Так, например, самая мощная СуперЭВМ 1985 года Cray-2 имела пиковую производительность 1,9 GFLOPS (миллиардов операций в секунду). Однако, экспорт данной ЭВМ в СССР был запрещён американским законодательством, советские же ЭВМ заметно отставали по производительности. Для сравнения, современная карманная (!) игровая консоль Sony PlayStation Portable, поступившая в продажу шесть лет назад (!) имеет более высокую производительность - 2,6 GFLOPS. Недорогой и не очень современный домашний компьютер имеет производительность в 10 раз больше, чем у Cray-2. Производительность игровой приставки Sony PlayStation 3 составляет 218 GFLOPS (т.е. 114 Крэев). Самый же мощный на момент написания статьи суперкомпьютер - китайский Тяньхэ-1А, стоимостью 88 миллионов долларов США - имеет производительность 2,57 миллиона GFLOPS (или 1 миллион 352 тыс. мощнейших суперкомпьютеров 1985 года). К 2012 году США планируют построить супер-ЭВМ с пиковой производительностью 20 миллионов GFLOPS.
Помимо этого, в последние годы получили распространение распределённые вычислительные сети. Идея тут следующая: миллионы компьютеров, подключённых к Интернету, во время своего бездействия (например, пользователь ушёл, но компьютер не выключил), предоставляют свои вычислительные мощности для решения некоторой задачи. Вычислительная сеть координирует их работу, распределяя задачи между компьютерами. В результате получается виртуальный суперкомпьютер чрезвычайно высокой производительности (суммарная производительность сетей BOINC составляет 5,6 миллиона GFLOPS), да ещё и практически бесплатный, т.к. к таким сетям подключаются добровольцы.
Таким образом, можно сделать вывод, что «Госплану» будущей плановой экономики будут доступны вычислительные мощности, превышающие возможности советского Госплана в десятки миллионов раз. Также надо отметить, что в последние 10-20 лет произошёл бурный рост средств коммуникации. Современные компьютерные и беспроводные сети позволяют собирать всю необходимую информацию о состоянии экономики и доводить её до единого центра. Ситуация, когда в городе А на прилавках неделями лежит и гниёт сыр, колбаса же отсутствует, в то же время в соседнем городе Б всё наоборот, а производство не в курсе - будет просто немыслима.
Второй момент заключается в том, что симплекс-метод обладает экспоненциальной сложностью. То есть с ростом числа планируемых показателей происходил взрывной рост времени решения задачи. В случае довольно однообразной экономики, с маленьким числом товаров (например, в военное время, или когда мы планируем банкет) ещё можно было справиться, то с ростом числа товаров и производственных цепочек, требовалось слишком большое количество вычислений. В 1979 году советский математик Леонид Хачиян предложил алгоритм решения не с экспоненциальной, а с полиномиальной сложностью: время вычислений росло как пятая степень размера матрицы. К сожалению, этот алгоритм оказался весьма неудобен на практике. Появившийся в 1984 году алгоритм внутренней точки, предложенный Н. Кармаркаром, имел уже гораздо меньшую, и тоже полиномиальную вычислительную сложность.
Кроме того, как и в случае капиталистических «эффективных собственников», социалистическому государству и не требуется строить абсолютно оптимальный план. Достаточно и приблизительного решения, главное чтобы социалистическая целевая функция (т.е. удовлетворённость потребностей народа) получалась выше, чем это выходит при капитализме.
Таким образом, на момент начала перестройки не существовало ни вычислительных мощностей, ни информационных сетей, ни нормальных алгоритмов для организации полноценного планирования всей экономики. Всё перечисленное получило нормальное развитие только в начале XXI века. Злые козни советских бюрократов если и имели место, то решающей роли сыграть не могли.
комментарии к статье - на стр. 2:
Источник: socialism2.livejournal.com.
Рейтинг публикации:
|