РЕШЕНИЕ ЗАДАЧ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ МЕТОДОМ СТРУКТУРНОЙ ОПТИМИЗАЦИИ Solving of Linear Programming by Method of Structural Optimization
Карганов Сергей Александрович доктор экономических наук, профессор e-mail: [email protected]
Karganov S.A.
Содержание.
В работе:
- перечислены проблемы, препятствующие использованию в хозяйственной практике результатов решения прямых и обратных задач линейного программирования;
- показано, что преодоление этих препятствий лежит на пути использования разработанного автором и описанного в данной работе метода структурной оптимизации и алгоритмов его реализации;
- приведены примеры решения методом структурной оптимизации задач производственного планирования.
Ключевые слова: линейное программирование, прямые и обратные задачи, симплекс-метод, объективно обусловленные оценки, общественно-необходимые затраты труда, структурная оптимизация.
Content
The paper lists the problems hindering the use in business practices of the results of solving direct and inverse problems in linear programming. It is shown that overcoming these obstacles lies in the way of use developed by the author and described in this paper the method of structural optimization and algorithms for its implementation. Here are examples of decisions by the structural optimization of production planning problems.
Key words: linear programming, direct and inverse problems, the simplex method, the objectively determined valuations, the socially necessary labor costs, structural optimization.
1. О проблемах связанных с постановкой и решением задач линейного
программирования
Известно, что значительное количество задач производственного планирования могут быть представлены в виде линейных математических моделей двух типов: основных и двойственных основным задач линейного программирования.
Считается, что решение основных задач линейного программирования создаёт
необходимые предпосылки для повышения эффективности производства: роста доходов и прибыли или снижения затрат на производство продукции и технологических отходов при её производстве.
Двойственные задачи линейного программирования формируются на той же
нормативной базе что и основные задачи, но с целью определения системы ресурсных оценок, названных их автором, Л.В. Канторовичем, разрешающими множителями или объёктивно обусловленными оценками (о. о. оценками).
По мнению Л.В. Канторовича [1, стр. 155] и современных экономистов [2] рыночные цены используемых ресурсов должны приближаться к о. о. оценкам, а при вычислении о.
о. оценок для полной номенклатуры ресурсов в масштабах страны эти оценки в
состоянии обеспечить оптимизацию хозяйственных решений и стать основой
оптимального ценообразования.
Способы вычисления о. о. оценок были предложены Л.В. Канторовичем ещё в 1939 г., однако «...чистую победу...» в способе их определения в 1947 г. одержал симплекс-метод, предложенный Дж. Б. Данцигом [3, стр. 79-86].
С тех пор и до настоящего времени симплекс-метод служит основным методом решения задач линейного программирования, однако надежды на его широкое использование не оправдались. И дело не в размерности задач хозяйственного планирования, а в ошибочности экономических предпосылок формирования основной и двойственной задач линейного программирования, а также особенностей алгоритма реализации самого симплекс-метода.
Проиллюстрируем сказанное на примере выбора оптимального плана производства продукции, приводимом в учебном пособии В.Л. Тарасова [4, стр. 17]:
Таблица 1. Исходные данные для планирования.
Ресурсы Запасы ресурсов Затраты ресурсов на единицу готовой продукции
Pl Р 2
Труд 14О 7 6
Сырьё 64 4 1
Оборудование 64 1 4
Прибыль от реализации единицы готовой продукции в денежных единицах (д.ед.) 5 6
Основная задача линейного программирования в данном примере состоит в определении объёмов производства продукции (xi и х2) двух видов продукции (Р1 и Р2), максимализирующих величину прибыли предприятия:
n
F(x) = Z Cj • x}. = 5х1 + 6х2 ^ max, (1)
1=1
n
при заданных ресурсных ограничениях ( Z ai}. • x}. < bt ):
j=1
7x1 + 6x2 < 140 (2)
4x1 + x2 < 64 x1 + 4x2 < 64,
и при x1 > 0 и x2 > 0 .
Оптимальное решение этой задачи симплекс-методом [(F(x) = 124] имеет место при объёмах производства х1 = 8, х2 = 14 и недоиспользовании второго вида ресурса в размере 18 ед..
В учебном пособии [4] постулируется широко распространённое мнение о том, что решение двойственной (для данной основной) задачи линейного программирования состоит в определении цен за единицу каждого из используемых видов ресурсов y1, y2 и y3, при которых выручка производителя от продажи ресурсов была бы равна ожидаемой прибыли от реализации готовых изделий.
Математическая модель двойственной задачи линейного программирования в данном примере имеет вид:
m
G(y) = Z Ь • У, = 140y 1 + 64y2 + 64уз ^ min, (3)
i=1
m
при ограничениях (Zai • Уг > CJ ): 7У1 + 4У2 + У3 > 5 (4)
i=1
6y1 + У2 + 4уз > 6
если y1 > 0, у2 > 0, у3 > 0.
При решении данной двойственной задачи симплекс-методом значения о. о. оценок ресурсов составят: y1 = 0,636; у2 = 0 и у3 = 0,545. Согласно учебного пособия равенство
значений целевых функций основной и двойственной задач [Р(х) = G(y) = 124] служит лучшим подтверждением оптимальности и объективности решений рассматриваемых задач, а также экономической ценности самого симплекс-метода.
Однако существуют проблемы, исключающие использование о. о. оценок в задачах оптимального ценообразования и ограничивающие возможности оптимального планирования и прогнозирования хозяйственных ситуаций на основе симплекс-метода.
Проблема первая (гносеологическая) имеет четыре аспекта.
Первый аспект заключается в экономической интерпретации результатов решения двойственной задачи линейного программирования.
Так о. о. оценки, получаемые в результате решения двойственной задачи линейного программирования, теряют экономический смысл, если критериями оптимизации основной задачи линейного программирования служат: «минимизация затрат
производства», «максимизация прибыли», «минимизация отходов» или «брак на производстве», а также максимализация и минимализация значений социальных критериев.
Во всех перечисленных случаях найденные значения переменных двойственной задачи (о. о. оценок) не имеют экономического смысла, однако пригодны для поиска оптимальных решений основных задач линейного программирования и, поэтому, оправдывают своё первоначальное название: «разрешающие множители».
В тоже время очевидно, что при реализации ресурсов по таким «ценам» производители вернут себе только ожидаемую прибыль в размере 124 денежных единиц, а используемые для её получения ресурсы отдадут покупателю «в презенте»... , т.е. бесплатно.
Второй аспект этой проблемы можно проиллюстрировать на примере решения задачи (3) - (4). Экономический смысл о. о. оценок (у1, у2, уз), определяемых в результате решения в этой задачи можно было бы трактовать как усреднённую по двум продуктам долю прибыли, приходящуюся на единицу ресурсов (первого, второго и третьего вида) и рассчитанную с учётом имеющихся запасов этих ресурсов.
Однако полученное решение (у1 = 0,636; у2 = 0; у3 = 0,545) даёт основания утверждать, что использование второго вида ресурса не приносит прибыли... Поскольку ошибочность подобного вывода очевидна, то появляется твёрдое убеждение, что о. о. оценки первого и третьего видов ресурсов определены с ошибками.
Подобная ситуация является характерной особенностью результатов применения симплекс-метода в ситуациях, когда полученное оптимальное решение не обеспечивает полного использования одного и более распределяемых видов ресурсов. А это почти все получаемые решения...
Третий аспект этой проблемы состоит в том, что для ресурсообладателей качество плана определяется не только полнотой (средним процентом) использования наличных ресурсов, но и степенью пропорциональности планируемых остатков ресурсов их располагаемому наличию. Такая пропорциональность гарантирует комплектность и стабильность производства и потребления ресурсов производства.
Очевидно, что чем комплектнее и полнее будут использованы располагаемые ресурсы, тем выше эффективность результатов решения задачи оптимизации.
Показателем комплектности (пропорциональности) использования средств достижения цели может служить показатель величины структурных сдвигов S в использовании располагаемых ресурсов, который равен нулю в случае полного совпадения структуры наличных ресурсов и структуры их планируемого использования:
IV, - )2
т
где di, и di,,o - удельные веса отдельных видов ресурсов в общем объёме их наличия и планируемого потребления соответственно, , = 1...т;
Тогда выбор наиболее эффективного метода для решения той или иной задачи линейного программирования можно произвести на основе показателя эффективности плановых расчетов Epr :
Z ho Epr = 5: ТА
г
где: ЕЬг - суммарный объём располагаемых ресурсов, а ЕЬго - объём их планируемого использования.
Чем меньше значение показателя Epr, тем лучше в оцениваемом варианте плана использованы располагаемые ресурсы для его реализации.
Поскольку значения показателей S и Epr при решении задачи (5)-(2) симплекс-методом составили соответственно 0,040 и 0,043, а при использовании метода структурной оптимизации - 0,033 и 0,036, то для практической реализации следует принять вариант плана, рассчитанный методом структурной оптимизации.
Четвёртый аспект этой проблемы состоит в том, что объёмы производства и, следовательно, значения целевых функций в задачах линейного программирования определяют в конечном итоге структурой и объёмами располагаемых ресурсов. Поэтому величину недоиспользования производственных ресурсов следует рассматривать как дополнительные затраты производства, не приносящие желаемого результата, или убытки производства. Эти потери в настоящее время не учитываются при оценке решений задач линейного программирования. В тоже время, как показывают данные таб. 2, при использовании симплекс-метода они могут быть значительными. Так при решении задачи оптимизации для системы ограничений (11) эти потери в 3,98 раза [(268 - 192) : (268 -248,9)] превысили величину аналогичных потерь при использовании метода
структурной оптимизации. Поэтому в задачах линейного программирования, предусматривающих максимизацию какого-либо критерия (прибыли, дохода и т.п.), для правильной оценки результатов оптимизации их значения каждый раз следует уменьшить на совокупную стоимость недоиспользованных ресурсов производства, а при минимизации критериев оптимизации (бака, отходов, затрат и т.п.) - увеличить.
При условии, что цены единицы каждого вида используемых ресурсов в задаче (1) -
(2) равны одной денежной единице, единственным критерием оптимизации, который не требует подобной корректировки, может служить критерий максимизации
использования заданных ограничений (5).
n n m
F(x)* = ZC, ■ Xj =ZZa„ ■ xt = (7+4+1)x1 + (6+1+4)x2 =12x1 + 11x2—— max. (5)
j=1 i г
При решении симплекс-методом задачи (5) и (2), оптимальные значения переменных составили: х1 = 8, х2 = 14; новое значение функции цели, отражающее потребление ограниченных ресурсов, составило 250 ед., или 93,3 % от их общего объёма (268 ед.).
При решении задачи (5) и (2) методом структурной оптимизации1 значения переменных составят: х1 = 11,519 и х2 = 9,895, а объём потребления ограниченных ресурсов - 247,073, что составляет 92,2% от их наличия.
Эти и приведённые в таб. 2 данные свидетельствуют, что метод структурной оптимизации не только конкурентоспособен, но и обеспечивает более полное и пропорциональное использование располагаемых ресурсов.
Остаётся дополнительно отметить, что о. о. оценки, рассчитанные на основе решения прямых задач линейного программирования симплекс-методом с целевыми функциями отличными от (5) обладают теми же недостатками.
1 Описание метода и примеры его использования приведены в тексте данной работы.
Проблема вторая (экономическая) имеет три аспекта.
Первый аспект состоит в том, что, несмотря на равенство критериев оптимизации1, оптимальные решения основной и двойственной задач линейного программирования не тождественны по экономическим результатам.
Как было отмечено, при решении задачи (5) и (2) симплекс-методом значение целевой функции F(х)* составит 250 ед.. При этом первый и третий виды ресурсов будут использованы полностью, а второй вид ресурса только на 72 %.
Двойственная (или обратная) задаче (5) и (2) задача линейного программирования примет вид:
С(у)* = 140у1 + 64у2 + 64у3 ^ тт, (6)
при ограничениях: 7у1 + 4у2 + у3 > 12 (7)
6у1 + У2 + 4у3 > 11
При решении этой задачи симплекс-методом о. о. оценки ресурсов составят: у1 = 1,682; у2 = 0; у3 = 0,227, а суммарная оценка их наличия G(y)* также равна 250 ед..
Однако полученные оценки ресурсов нельзя назвать «объективными», поскольку нулевую оценку (у2 = 0) получил используемый вид ресурса. Нельзя также назвать эти оценки «обусловленными», поскольку принятые в расчёте ,Р(х) рыночные цены используемых ресурсов по всем параметрам несопоставимы с оценками тех же ресурсов, оптимизирующими критерий G(y).
Оценки, получаемые при решении обратных задач линейного программирования методом структурной оптимизации, также нельзя «объективными» и «обусловленными» ценами располагаемых ресурсов, однако они ближе по структуре к структуре объёмов располагаемых ресурсов и позволяют проследить сбалансированность их потребления.
Так при решении этим методом задачи (5) и (2) значения переменных составили: х1 =
11,519 и х2 = 9,895, а F(х)* = 247,1; в результате решения тем же методом2 задачи (6)-(7) значения оценок ресурсов составили: у1 = 1,212; у2 = 0,693; у3 = 0,759, а суммарная оценка ресурсов - величину G(y)* = 262,61.
Различие в этих оценках стоимости произведённой продукции и стоимости используемых ресурсов возникло:
- на величину ДG1 = (С1* - С1) • Х1* = (12,014-12,0) • 11,519 = 0,16 в результате завышения в оптимальном решении норматива С1* = 12,014 по сравнению с его исходным значением С1 = 12;
- на величину стоимости неиспользуемой части (остатка) второго вида ресурса в размере ДG2 = (64-55,97) -0,693 = 5,57:
- на величину стоимости неиспользуемой части (остатка) третьего вида ресурса в размере ДGз = (64-51,10) -0,758 = 9,78.
В итоге имеем результат: G(y1, у2, у3,)* - ДG1 - ДG2 - ДG3 = F(х)* или 262,61 - 0,16 -5,57 - 9,78 = 247,1, который невозможно получить при использовании о. о. оценок, рассчитанных симплекс-методом.
Второй аспект данной проблемы состоит в том, что использование о. о. оценок в качестве рыночных цен или инструмента для их корректировки противоречит не только экономической теории, но и здравому смыслу, поскольку:
- рыночные цены используемых ресурсов известны, как правило, ещё до решения задач линейного программирования и не могут быть изменены;
- использование двойственных оценок для определения планируемых рыночных цен также бесперспективно, поскольку их значения определяются наличием и комплектностью ресурсов отдельных производств, а не величиной общественно-
1 Считается, что подтверждением этому служит равенство: F(х) = в(у) = 250.
2 Расчёт этих оценок методом структурной оптимизации приведён в данной работе на стр. 12.
необходимых затрат производства. По этой причине найденные о. о. оценки ресурсов будут несопоставимы даже для предприятий, выпускающих однородную продукцию.
Для иллюстрации сказанного допустим, что в рассматриваемом примере средняя рыночная стоимость использования единицы ресурса составляет: для затрат труда, используемого на данном предприятии, - 3 д.е.; для сырья - 2 д.е., а для оборудования - 3 д.е..
Возможны три варианта формирования условий двойственной задачи с целью получения о. о. оценок.
Первый вариант предполагает определение о. о. оценок ресурсов исходя из ожидаемых (планируемых) рыночных цен на производимую продукцию в денежных единицах (в д.е.), обеспечивающих производителям получение планируемой прибыли на каждую единицу производимой продукции. Поскольку состав технологических затрат производства (в натуральных единицах измерения) и величины прибыли на единицу продукции (в д.е.) нам даны, то с учётом принятых рыночных цен на единицу каждого вида ресурса рыночная стоимость единицы продукции Pi составит 37 д.е. (7-3 + 4-2 +1-3 +5), а единицы Р2 - 38 д.е. (6-3 + 1-2 + 4-3 + 6). В этом случае двойственная задача, аналогичная задаче
(3) - (4), примет вид:
G(y) = 140y1 + 64y2 + 64y3 — min, (8)
при ограничениях: 7y1 + 4y2 + y3 > 37 (9)
6y1 + У2 + 4y3 > 38 ,
а о. о. оценки, рассчитанные симплекс-методом, получат значения ( y1 = 5,0; y2 = 0 и y3 = 2,0), ничего общего не имеющие с принятыми рыночными ценами на использованные виды ресурсов.
Второй вариант предполагает использование о. о. оценок в качестве показателей, уточняющих рыночные цены на используемые ресурсы в связи с оптимизацией симплекс-методом не прибыли, а доходов производства.
В этом случае оценку производимой продукции, а также затраты и наличие каждого вида используемых ресурсов следует представить в денежном измерении. В результате исходная основная задача (1) - (2) примет вид:
F(x) = 37х1 + 38х2 — max, (10)
при заданных ресурсных ограничениях:
21х1 + 18x2<420 (11)
8х1 + 2х2 < 128 3x1 +12x2 < 192
и при х1 > 0 и х2 > 0;
а двойственная задача (3) - (4) примет вид:
G(y) = 420y 1 + 128y2 + 192y3 — min, (12)
при ограничениях: 21y1 + 8y2 + 3y3 > 37 (13)
18y1 + 2y2 + 12y3 > 38
и при y1 > 0, y2 > 0, y3 > 0.
В результате решения симплекс-методом задач (10) - (11) и (12) - (13) имеем:
F(x) = G(y) = 828; x1 = 8, х2 = 14, а y1 = 1,667; y2 = 0 и y3 = 0,667.
Очевидно, что при использовании найденных значений о. о. оценок для корректировки сложившихся рыночных цен на используемые производственные ресурсы (y1*=3,04,667= 5,0; y2*=2-0=0 и y3*=3,0-0,667=2,0) полученные цены совпадут со значениями о. о. оценок, полученных при решении задачи (8) - (9). Следовательно, обе рассмотренных версии формирования цен на ресурсы производства не соответствуют экономическим принципам формирования рыночных цен, а именно - их формированию на основе общественнонеобходимых затрат производства.
Третий вариант предусматривает формирование значений о. о. оценок исходя из фактических затрат производства, т.е. исходя из себестоимости производимой продукции.
Так если в ограничениях (13) из рыночных цен продукции Pi и Р2 исключить прибыль и принять их в размере стоимости фактических технологических затрат производства, т.е. 32 д.е и 32 д.е. соответственно, то рассчитанные симплекс-методом значения о. о. оценок существенно не изменятся (они составят: y1 = 1,455; y2 = 0 и y3 = 0,485), чем подтвердят ошибочность и данного варианта формирования о. о. оценок.
Следовательно, единственным решением второй проблемы следует считать отказ от придания значениям о. о. оценок какого-либо экономического содержания и от постулируемой перспективы их использования в системах оптимального ценообразования.
Третий аспект этой проблемы состоит в том, что полученные, в результате использования симплекс-метода, оптимальные решения могут предусматривать отказ от производства необходимых стране товаров и услуг, а также неэффективное использование отдельных видов ресурсов.
Для лучшей иллюстрации сказанного добавим в исходном примере ещё один производимый продукт (Р3) с единичным потреблением каждого вида ресурса и прибылью от реализации единицы продукции в размере 7 д.е.. В результате система (1) -(2) примет вид:
F(x) = 5х1 + 6х2 + 7х3 — max, (14)
при заданных ресурсных ограничениях:
7х1 + 6х2 + х3 < 140 (15)
4х1 + х2 + х3 < 64 х1 + 4х2 + х3 < 64
и при х1 > 0, х2 > 0, х3 > 0 .
Оптимальное решение задачи (14) - (15) симплекс-методом (х1= 0, х2= 0 и х3 = 64) предусматривает полный отказ от производства продуктов Р1 и Р2, а также обеспечит полное использование только второго и третьего видов ограниченных ресурсов. При этом решении первый вид ресурса будет использован лишь в объёме 64 натуральных единиц, что составляет менее половины (45,7%) от его наличия.
Важно отметить, что приведённое оптимальное решение задачи (14) - (15) не изменится при изменении значений коэффициентов С, функции цели (14) в широких пределах, например при:
Ci = 1+19, С2 = 6 и Сз = 5;
Ci = 1, С2 = 7+28 и Сз = 7; (16)
С1 = 1, С2 = 6 и С3 = 7 + да
В тоже время при значениях коэффициентов функции цели: С1 = 19, С2 = 6 и С3 = 5
система (14) - (15) будет иметь два альтернативных оптимальных решения при одном и том же значении критерия оптимизации (F=448 д.е.). Первое решение будет аналогичным ранее описанному, а второе - обеспечит рост использования первого вида ресурса до 91,8%, т.е. в два раза.
Наибольшая диспропорция в загрузке и недоиспользование объёмов лимитированных ресурсов в задаче (14) - (15) будет иметь место при значениях коэффициентов: С1 = 1, С2 = 29 и С3 =7. В этом решении имеем: х1= 0, х2= 16 и х3 = 0; использование первого вида ресурса составит только 68,6%, а второго - 25%.
Приведённые примеры свидетельствуют, что при использовании симплекс-метода:
1. Значения коэффициентов функции цели далеко не всегда определяют направление поиска оптимального решения. Как только что было показано оптимальное решение может не измениться при варьировании в широких пределах значений коэффициентов функции цели и наоборот - при одних и тех же значениях коэффициентов функции цели могут иметь место различные по объёмам использования ресурсов оптимальные планы производства.
Те же обстоятельства служат дополнительной причиной непригодности рассчитываемых
о. о. оценок для решения проблем оптимального ценообразования.
2. Оптимальные планы производства рассчитанные симплекс-методом не гарантируют стабильности, полноты и пропорциональности использования ограниченных ресурсов. В тоже время решение задачи (14) - (15) методом структурной оптимизации обеспечит использование располагаемых ресурсов первого вида на 100%, второго - на 89%, а третьего - на 81,4%.
3. Найденные оптимальные решения допускают возможность полного отказа от производства части ранее производимой продукции, что может повысить спрос на эти виды продукции и привести к росту инфляции в стране.
Так, например, любое из оптимальных решений задачи (14) - (15) симплекс-методом при всех рассмотренных значениях коэффициентов функции цели (16) предусматривает отказ от производства первого и второго видов продукции (х1= 0, х2= 0).
Данная особенность симплекс-метода исключает возможность его использования в задачах оптимизации с обязательной номенклатурой (необходимым ассортиментом) продукции без введения в математических моделях линейного программирования дополнительных ограничений на значения переменных .
Для оценки расчётных возможностей симплекс-метода введём такие ограничения на значения переменных и примем х1 < 5 и х3 > 10. в результате система (14) - (15) примет вид:
F(x) = 5х1 + 6х2 + 7х3 — max, (17)
при ресурсных ограничениях:
7х1 + 6х2 + х3 < 140 (18)
4х1 + х2 + х3 < 64 х1 + 4х2 + х3 < 64 х1 < 5
х3 > 10
и при: х1 > 0, х2 > 0, х3 > 0.
Однако решение задачи (17)-(18) симплекс-методом не позволило получить значение переменной х1 отличное от нуля. В целом полученное решение системы (18) не отличается от решения системы (15) и значения переменных по-прежнему составят: х1= 0, х2= 0 и х3 = 64.
Решение системы (18) методом структурной оптимизации имеет вид: х1= 1,43, х2= 12,37 и х3 = 13,1.
При строгих ограничениях на значения переменных (х1 = 5; х3 = 10) решения системы (18) симплекс-методом и методом структурной оптимизации совпадают: х1= 5, х2= 12,25 и х3 = 10.
С учётом изложенного можно отметить, что формирование планов производства с позиций получения предпринимателями финансовой выгоды, покрывающей их потери от непропорционального и неполного использования располагаемых ресурсов, приводит не к росту эффективности общественного производства и богатства страны, а служит источником неконтролируемого роста диспропорций производства и потребления продукции отдельных отраслей и, как результат, к росту инфляции и безработицы в стране.
Обобщённое представление о сравнительной эффективности метода структурной оптимизации могут дать данные таблицы 2.
Таблица 2.
Оценка результатов использования производственных ресурсов при распределении ограниченных ресурсов симплекс-методом (СМ) и методом структурной оптимизации
(МСО)
Показатели Типы производственных систем и методы планирования
Система (2) Система (11) Система (15) Система (18)
СМ МСО СМ МСО СМ МСО СМ МСО
х1 8 11,519 8 1О,О2 О 7,11 0 5,0
х2 14 9,895 14 11,67 О 7,11 0 6,64
х3 - - - - 64 28,44 64 32,44
d 1 О,522 О,522 О,568 О,568 О,522 0,522 0,522 0,522
d 2 О,239 О,239 0,173 0,173 О,239 0,239 0,239 0,239
d 3 О,239 О,239 О,259 О,259 О,239 0,239 0,239 0,239
d 1,о О,56О О,567 О,597 О,6О6 О,333 0,486 0,333 0,468
d 2,о 0,184 О,226 О,131 О,149 О,333 0,257 0,333 0,255
d3^ О,256 О,2О7 О,272 О,245 О,333 0,257 0,333 0,277
Ebi 268 268 74О 74О 268 268 268 268
2bi,o 25О 247,О7 7О4 693,53 192 248,9 192 231,4
Ebi,o :Sbi О,933 О,922 О,951 О,937 О,716 0,929 0,716 0,863
S О,О4О О,О33 О,О3О О,О27 О,133 0,025 0,133 0,039
E \->pr О,О43 О,О36 О,О32 О,О29 0,186 0,027 0,186 0,045
Наличие описанных проблем и данные таб. 2 свидетельствуют, что переход от использования симплекс-метода к использованию метода структурной оптимизации при разработке планов производства и программ развития народного хозяйства улучшит использование богатства страны, а также повысит объективность и однозначность принимаемых экономических решений.
Решение задач линейного программирования методом структурной оптимизации можно реализовать на основе полного (более точного) и упрощённого (ускоренного) алгоритмов его реализации.
2. Полный алгоритм реализации метода структурной оптимизации при решении
задач линейного программирования
Каждая итерация данного алгоритма структурной оптимизации состоит из повторяющихся шагов вычислений.
Приведём презентацию пошаговой реализации алгоритма структурной оптимизации на том же примере задачи линейного программирования (5) и (2), а именно:
F(x)= 12х1 + 11 х2 ^ max 7xi + 6х2 < 140 4х1 + х2 < 64 х1 + 4х2 < 64,
при х1 > 0 и х2 > 0 .
Итерация I.
1. На первой итерации определяем и корректируем на последующих итерациях базисные значения Xj) - коэффициентов структуры потребления i -того вида ограниченных
ресурсов для каждого j - того способа их использования на k - ой итерации: Xj) =
avjТ atj . Тогда для ресурсных ограничений (2) значения базисных коэффициентов Xj1
составят:
при i = 1: 0,538; 0,462;
i = 2: 0,800; 0,200;
i = 3: 0,200; 0,800.
2. В задачах линейного программирования с ограничениями типа « < » (задачах
максимизации функции цели) среди найденных значений X(k) на каждой к - той итерации
для каждого j находим минимальное значение ( X j)= min Xk ), а в задачах с ограничениями
J i J
типа « > » (задачах минимизации функции цели)- максимальное значение ( X j) = max XJ)).
j i j
В данном примере минимальные значения X(k) равны: X1(1) = 0,2 ; X^ = 0,2.
3. Определяем потребности в ограниченных ресурсах bk при найденных значениях Xj по формуле: b(k) = Т а у • X J).
j
b1 = 7 • 0,2 + 6 • 0.2 = 2,6 b1 = 4 • 0,2 +1-0.2 = 1,0 b3 = 1-0,2 + 4 • 0.2 = 1,6
Если расчётные значения bk не удовлетворяют заданным, следует перейти к следующей итерации алгоритма структурной оптимизации.
Итерация II .
1. Корректируем значения базисных коэффициентов Xj1, полученные на предыдущем шаге вычислений. В общем случае имеем: Xjk+1) = Xj) • bt /bk
В рассматриваемом примере значения базисных коэффициентов , необходимые для реализации второй итерации, то есть значения Xj2, составят:
при i = 1: 28,97 ( 0,538 • 140/2,6); 24,88 (0,462- 140/2,6);
i = 2: 51,2 ( 0,800 • 64/1); 12,8 (0,200 • 64/1);
i = 3: 12,8 (0,200 • 64/1); 51,2 ( 0,800 • 64/1).
2. X 1(2) =12,8; X 22)=12,8.
3. b2 = 7 12,8 + 6 12.8 = 166,4 b22 = 4 12,8 +1 • 12.8 = 64
b32 = 112,8 + 4 • 12.8 = 64 Вычисления следует продолжить, поскольку не соблюдены ресурсные ограничения.
Итерация III.
1. При i = 1: 24,374 (28,97 • 140/166,4);
i = 2: 51,2 (51,2 • 64/64);
i = 3: 12,8 (12,8 • 64/64);
2. X1(3) =12,8; X 23) =12,8.
3. bf = 7 • 12,8 + 6 12.8 = 166,4 b23 = 4 12,8 +1 • 12.8 = 64 b33 = 112,8 + 4 • 12.8 = 64
Вычисления следует продолжить, поскольку не соблюдены ресурсные ограничения.
Итерация IV.
1. При i = 1: 20,507 (24,374 • 140/166,4); 17,612 (20,933 • 140/166,4);
i = 2: 51,2 (51,2 • 64/64); 12,8 (12,8 • 64/64);
i = 3: 12,8 (12,8 • 64/64); 51,2 (51,2 • 64/64).
2. X 1(4) =12,8; X24)=12,8.
4. b14 = 7 12,8 + 6 12.8 = 166,4
20,933 (24,88 • 140/166,4); 12,8 (12,8 • 64/64);
51,2 (51,2 • 64/64).
Ь24 = 4-12,8 +1-12.8 = 64 Ь34 = 1-12,8 + 4-12.8 = 64 Вычисления следует продолжить, поскольку не соблюдены ресурсные ограничения.
Итерация V.
1. При i = 1: 17,253 (20,507 • 140/166,4); 14,817 (17,612 • 140/166,4);
i = 2: 51,2 (51,2 • 64/64); 12,8 (12,8 • 64/64);
i = 3: 12,8 (12,8 • 64/64); 51,2 (51,2 • 64/64).
2. Х1(5) =12,8; X25) =12,8.
3. Ь1 = 7 -12,8 + 6 -12.8 = 166,4 Ь25 = 4-12,8 +1-12.8 = 64 Ь35 = 1-12,8 + 4-12.8 = 64
Вычисления следует продолжить, поскольку не соблюдены ресурсные ограничения.
Итерация VI.
1. При i = 1: 14,516 (17,253 • 140/166,4); 12,467 (14,817 • 140/166,4);
i = 2: 51,2 (51,2 • 64/64); 12,8 (12,8 • 64/64);
i = 3: 12,8 (12,8 • 64/64); 51,2 (51,2 • 64/64).
2. Х1(6) =12,8; Х26) =12,467.
3. Ь6 = 7-12,8 + 6-12.467 = 164,402 Ь26 = 4 -12,8 +1 -12.467 = 63,667 Ь36 = 1-12,8 + 4 -12.467 = 62,668
Вычисления следует продолжить, поскольку не соблюдены ресурсные ограничения .
Итерация VII.
1. При i = 1: 12,36 (14,516 • 140/164,402); 10,617 (12,467 • 140/164,402);
i = 2: 51,468 (51,2 • 64/63,667); 12,867 (12,8 • 64/63,667);
i = 3: 13,072 (12,8 • 64/62,668); 52,288 (51,2 • 64/62,668).
2. Х1(7) =12,36; X 27) =10,617.
3. Ь/ = 7-12,36 + 6-10.617 = 150,222 Ь27 = 4-12,36 +1-10,617 = 60,057 Ь37 = 1-12,36 + 4-10.617 = 54,828
Вычисления следует продолжить, поскольку не соблюдены ресурсные ограничения.
Итерация VIII.
1. При i = 1: 11,519 (12,36 • 140/150,222);
i = 2: 54,847 (51,468 • 64/60,057);
i = 3: 15,259 (13,072 • 64/54,828);
2. X™ =11,519; Х28) =9,895.
3. Ь8 = 7-11,519 + 6 - 9,895 = 140,00 Ь28 = 4 -11,519 +1- 9,895 = 55,971 Ь38 = 1-11,519 + 4 - 9,895 = 51,099
Всего: 247,073
На этой итерации процесс вычислений следует считать законченным, поскольку ресурсные ограничения соблюдены и последующие итерации не приведут к улучшению использования ограниченных ресурсов. Обозначим значения переменных, определяющие
9,895 (10,617 • 140/150,222);
13,712 (12,867 • 64/60,057);
61,035 (52,288 • 64/54,828).
оптимальное решение задачи линейного программирования, через X**. Тогда имеем: Х* =
11,519 и X2=9.895. При данных значениях переменных функция цели (5) будет иметь значение:
F(x)= 11,519-12 + 9,895-11 = 247,073. и её величина полностью совпадает со значением величины использованных ресурсов.
Результаты решения других задач линейного программирования методом структурной оптимизации приведены в таб. 2.
Примечания к алгоритму структурной оптимизации:
1) При наличии ограничений на минимальные значения переменных (например X}. > М)
ресурсы, необходимые для реализации j - того способа производства в минимальном объёме М следует резервировать (исключать их из распределяемого наличия) до решения задачи оптимизации, а по завершении оптимизации производить расчёт оптимального значения X*:
x ; = x (к) + м (19)
2) При наличии ограничений на соотношение расчётных значений переменных типа:
Xv > К Ху (20)
где К - любое число;
определение значений переменных (Xv или Xу ) следует производить по формуле (20),
исходя из величины той переменной, которая на первой итерации имела меньшее значение.
3) Если значение какой-либо переменной ограничено сверху ( X}. < М), то при значениях Xj >М на к - ой итерации вычислений следует принимать Xj =М .
4) При использовании данного алгоритма метода структурной оптимизации для решении задач с ограничениями типа « > » или « < » могут иметь место ситуации, при которых результаты расчётов не обеспечивают выполнение одного или нескольких подобных ограничений. В этом случае следует произвести нормирование полученных расчётных значений переменных Xj) на последней (к - той ) итерации путём умножения их на нормировочный коэффициент. Величина нормировочного коэффициента составит:
ь*
р=max (21) где b* - значения ограничений в модели линейного программирования, для которых необходимо соблюдение условий: b((k) > b'*, а при фактических расчётных значениях
ь(к )< ь;. Оптимальными, в этом случае, следует считать нормированные значения переменных:
X(n) = Xf ^ р. (22)
В случаях исходных условий b(({) < b'* и расчётных значений b(({) > bi; нормировочный коэффициент р следует рассчитывать по формуле: b*
р=min b™ (23)
Важно отметить: нормированию подлежат только те значения переменных X (к), которые обеспечивают соблюдение i - того невыполненного ресурсного ограничения.
Пример расчёта о. о. оценок методом структурной оптимизации.
Двойственной (или обратной) задаче линейного программирования (5) и (2) служит задача (6) - (7):
G= 140y1 + 64y2 + 64y3 ^ min, при ограничениях: 7y1 + 4y2 + y3 > 12
6y1 + У2 + 4y3 > 11
Итерация I.
1. Расчёт значений исходных (базисных) коэффициентов (У^(к)) структуры потребления i -того вида ограниченных ресурсов при j - том способе их использования, определяемые по формуле Yijlc)= а^j^ aiJ, которые на этой итерации примут значения Yijr> и составят:
при i = 1: 0,583; 0,333; 0,084
i = 2: 0,545; 0,091; 0,364
2. Поскольку данная задача предусматривает минимизацию целевой функции, то на этом шаге вычислений из найденных значений Y() для каждого j выбираем значение
коэффициента Yjk) = max Y(). В нашем примере это величины:
Y1(1) = 0,583 ; Y2(1) = 0,333 и Y3(1) = 0,364
3. Расчёт потребности в ограниченных ресурсах Ь1 при найденных значениях YJ{ ) по формуле: Ь(к)= 2 аг}^1
j
b = 7 • 0,583 + 4 • 0.333 +1 • 0,364 = 5,777
Ь1 = 6 - 0,583 +1 - 0.333 + 4 - 0,364 = 5,287 Продолжаем вычисления, поскольку не соблюдены линейные ограничения .
Итерация II .
1. Корректируем значения базисных коэффициентов Y^(1) по формуле Yj■k+1) = Yj■k) - bi /Ьк .
при i = 1: 1,211 (0,58342/5,777); 0,692 (0,33342/5,777); 0,174 (0,084-12/5,777); i = 2: 1,134 (0,545^ 11/5,287); 0,189 (0,09141/5,287); 0,757 (0,364-11/5,287)
2. ^(2)=1,211; Y2(2) =0,692: Yз(2) = 0,757
3. Ь12 = 7-1,211 + 4-0,692 +1-0,757 = 12,002 Ь22 = 6 -1,211 +1-0,692 + 4 - 0,757 = 10,986
Вычисления следует продолжить, поскольку не соблюдено второе ограничение.
Итерация III .
1. Корректируем значения базисных коэффициентов Y^(1) по формуле Yj■k+1) = Yj■k) - bi /Ьк .
i=1: 1,211 (1,211^ 12,0/12,002); 0,692 (0,69242,0/12,002); 0,174 (0,17442,0/12,002); i=2: 1,135 (1,134 • 11,0/10,986); 0,189 (0,189 41,0/10,986); 0,758 (0,757 -11,0/10,986).
2. ^(2)=1,211; Y2(2) =0,692: Y3(2) = 0,758
3. Ь12 = 7-1,211 + 4-0,692 +1-0,758 = 12,003 Ь22 = 6 -1,211 +1 - 0,692 + 4 - 0,758 = 10,99
Для сокращения процесса вычислений произведём нормирование значений переменных по формулам (21) и (22). Имеем:
ь; = 11,0
Ь{к) 10,99
Y|■n)= 1,212; Y2n) = 0,693; Y3(n) = 0,759; С1* =12,014; С2* =11,0
Р = max—к- = —-— = 1,0009;
г т (к) ^ ™ ’ ’
3. Упрощённый алгоритм решения задач линейного программирования методом
структурной оптимизации
Использование упрощённого алгоритма предусматривает выполнение следующих действий:
1. Расчёт суммарной интенсивности потребления ограниченных ресурсов Aj для каждого (j - того) технологического способа потребления ограничений:
Aj = I “,j (24)
i
2. Расчёт предельных значений прототипов ограничений В{ для каждого вида ограничений:
B = I a,j-A, (25)
j
3. Расчёт значений коэффициентов корректировки у, величин Aj:
У = it • (26)
Bi
4. Выбор предельного значения коэффициента корректировки у *:
4.1. Для задач линейного программирования с ограничениями « < »:
у *= min (уi) (27)
i
4.2. Для задач линейного программирования с ограничениями « > »:
у *= max( уг) (28)
i
5. Расчёт значений неизвестных задачи линейного программирования:
Xj = Aj у*. (29)
6. Определяем потребности в ресурсах для найденного решения задачи линейного программирования :
±a,j-X, = Ь,. (Щ
j=1
7. Определение значения функции цели:
F(x) = ICJ-XJ (31)
j=1
Рассмотрим пример реализации упрощённого алгоритма метода структурной оптимизации (экспресс алгоритма) на примере задачи линейного программирования (5) и
(2), а именно: F= 12х1 + 11х2 ^ max
7xi + 6х2 < 140 4xi + х2 < 64 х1 + 4х2 < 64,
Реализация алгоритма.
1. Имеем: Аi = 7+4+1 = 12; А2 = 6+1+4 = 11.
2. Имеем: Bi = 7-12+6-11=150; В2 = 4-12+1^11=59; В3 = 1-12+4-11=56.
140 64 64
3. Имеем: у =-= 0,933 ; у2 = — = 1,085 ; у3 = — = 1,143 .
150 59 56
4.1. Для данной задачи имеем: у * = 0,933.
5. Имеем: X = 12-0,933 = 11,196; Х2 = 11-0,933 = 10,263.
6. Имеем: 7-11,196 + 6-10,263 = 140,0
4-11,196 + 1-10,263 = 55,05
7. Имеем:
1-11,196 + 4-10,263 = 52,25 F= 12x1 + 11x2 = 12-11,196 + 11-10,263 = 247, 245
Упрощённая реализация решения задачи линейного программирования (6)-(7):
G= 140у1 + 64у2 + 64у3 ^ min,
7у1 + 4у2 + у3>12 6у1 + У2 + 4уз > 11
при использовании упрощённого алгоритма метода структурной оптимизации примет вид:
1. Имеем: А1 = 7+6 = 13; А2 = 4+1 = 5; Аз = 1+4 = 5.
2. Имеем: В1 = 7-13 + 4-5 + 1-5 = 116; В2 = 6-13 + 1-5 + 4-5 = 103
3. Имеем: у = — = 0,1034; у2 = — = 0,1068.
116 103
4. Учитывая тип ограничений для данной задачи (« > »), имеем: у * = 0,1068.
5. Имеем: 71 = 13-0,1068 = 1,388; У2 = 5-0,1068 = 0,534; У3 = 5-0,1068 = 0,534.
6. Значения ограничений для найденного решения задачи линейного программирования составит:
7-1,388 + 4-0,534 + 1-0,534 = 12,386 6-1,388 + 1-0,534 + 4-0,534 = 10,998.
7. Значение функции цели: G= 1404,388 + 64-0,534 + 64-0,534 = 262,672
Приведённые примеры свидетельствуют, что упрощённый алгоритм метода структурной оптимизации позволяет получать достаточно точные решения любых систем линейных неравенств и задач линейного программирования, предусматривающих оптимизацию использования заданных ограничений.
4. Заключение
Подводя итоги презентации метода структурной оптимизации следует отметить простоту и универсальность его использования при поиске оптимальных планов или способов производства продукции в условиях ограниченности используемых ресурсов производства.
В работе также показано, что любые дополнительные критерии эффективности и значимости продукции или технологических способов её производства - коэффициенты функции цели в задачах линейного программирования - контрпродуктивны критерию эффективного использования заданных ограничений. Объективность этого постулата подтверждается не только примерами, приведёнными в данной работе, но и самим фактом лимитированности ресурсов. Более того, рост национального богатства обеспечивают только те предприниматели, которые получают прибыль от увеличения объёмов производства продукции при базисных затратах производства, а не за счёт их экономии и высвобождения.
Для оценки степени практической реализации этого принципа при сравнении вариантов планов, составленных различными методами, в данной работе предложен комплексный показатель эффективности плановых расчетов - Ерг. Преимуществом показателя Ерг служит то, что его величина пропорциональна величине возможных потерь от неполноты и некомплектности использования располагаемых ресурсов, т.е. тех факторов, которые символизируют потери ресурсов в процессе народнохозяйственного планирования, но до сих пор не служили критериями качества плановых решений. Поэтому тот факт, что метод структурной оптимизации позволяет улучшить (уменьшить) значение этих показателей при тех же объёмах располагаемых ресурсов производства позволяет сделать вывод о высокой эффективности и перспективности использования
метода структурной оптимизации при решении производственных задач линейного программирования и в процессе народнохозяйственного планирования.
На сегодняшний день метод структурной оптимизации служит единственным инструментом способным обеспечить реализацию в планировании производства принципа демократического централизма, т.е. условий, при которых оптимизация планов отдельных производителей обеспечит оптимальное развитие общественного производства в стране.
Результаты использования метода структурной оптимизации может служить также инструментом для уточнения обоснованности оценок экономической эффективности нововведений. Для этого следует расчётные величины оценок экономической эффективности нововведений уменьшить на величину прироста затрат производства в оптимальном плане, либо увеличить оценку экономического эффекта на величину их сокращения.
Литература
[1] Канторович Л.В. «Экономический расчёт наилучшего использования ресурсов».
Из-во Академии Наук СССР, Москва. 1960г.
[2] Лопатников, 2003. Объективно обусловленные оценки — Лопатников —
Яндекс.Словари
[3] DANTZIG G.B. Reminiscences About the Origins of Linear Programming
//Mathematical Programming: The State of the Art / Ed. by A. Bachem, M. Groetschel and
B. Korte.-Berlin: Springer Verlag,1983.-P.79-86.
http://www.webcenter.ru/~zwb/origins.htm
[4] Тарасов В.Л. Экономико-математические методы и модели. Учебное пособие.
Нижний Новгород, 2003 г. (unn038.pdf - Adobe Reader)