Научная статья на тему 'Метод решения экономических задач математического программирования с дробными критериальными функциями'

Метод решения экономических задач математического программирования с дробными критериальными функциями Текст научной статьи по специальности «Математика»

CC BY
577
62
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ДОПУСТИМОЕ РЕШЕНИЕ / ЗАДАЧА МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ / ОПТИМАЛЬНОЕ РЕШЕНИЕ / VALID SOLUTION / TASK OF MATHEMATICAL PROGRAMMING / OPTIMAL SOLUTION

Аннотация научной статьи по математике, автор научной работы — Архипенков С. М.

Рассмотрена задача математического программирования с дробными критериальными функциями. Предложен эффективный численный метод поиска оптимального решения этих задач. Доказана сходимость предложенного метода. Описано решение численного примера экономической оптимизации.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Архипенков С. М.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Solution Method of Economic Tasks of Mathematical Programming with Fractional Creteria Functions

Task of mathematical programming with fractional criteria functions is considered. The effective numerical method for search of optimal solution of these tasks is offered. Convergence of the suggested method is proved. Solution of a numerical example of economic optimization is described.

Текст научной работы на тему «Метод решения экономических задач математического программирования с дробными критериальными функциями»

УДК 519.68

МЕТОД РЕШЕНИЯ ЭКОНОМИЧЕСКИХ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ С ДРОБНЫМИ КРИТЕРИАЛЬНЫМИ ФУНКЦИЯМИ С.М. Архипенков

Кафедра «Экономический анализ», ТГТУ Представлена членом редколлегии профессором А.П. Романовым

Ключевые слова и фразы: допустимое решение; задача математического программирования; оптимальное решение.

Аннотация: Рассмотрена задача математического программирования с дробными критериальными функциями. Предложен эффективный численный метод поиска оптимального решения этих задач. Доказана сходимость предложенного метода. Описано решение численного примера экономической оптимизации.

Введение

В экономике, управлении и организации производства весьма часто встречаются задачи, когда в системе показателей качества принимаемого решения (показателей оптимизации) имеются относительные показатели. К числу таких показателей в заводском и отраслевом анализе и планировании относятся, например, следующие:

- объем выпуска товарной продукции на 1 рубль заработной платы;

- объем производства товарной продукции на 1 станко-час работы конкретного вида технологического оборудования;

- величина прибыли, приходящаяся на 1 рубль заработной платы;

- затраты различных видов производственных ресурсов на 1 рубль товарной продукции и др.

Критериальные функции, соответствующие таким показателям, в настоящее время часто называют дробными.

Далее предлагается новый численный метод поиска оптимальных решений задач с дробными критериальными функциями. По сравнению с описанными в литературе методами решения подобных задач [1 - 4] он позволяет находить решения более широкого класса оптимизационных задач с дробными критериальными функциями и является достаточно эффективным. Он построен на основе улучшения метода, описанного в работе [5]. Предлагаемый метод наиболее целесообразно применять для проведения экономико-математического анализа, в котором используются так называемые удельные показатели затрат и результатов. В статье символ « Р » означает меньше, а символ « у » - больше.

Формулировка задачи и доказательства теорем

Пусть требуется решить следующую задачу математического программирования:

найти х = (, Х2,..., хп), при котором критериальная функция

L = f (x)/ф( x) a min при x e D , где x = (, X2,xw) - точка множества D; D - ограниченное множество допустимых решений задачи, расположенное в w-мерном евклидовом пространстве; это множество в задачах математического программирования описывается обычно с помощью линейных или нелинейных математических ограничений; f (x) и ф( x) - математические функции, заданные на множестве D.

Кроме того, предположим, что эти функции являются ограниченными и удовлетворяют условиям: f (x) > 0 и ф(x) > 0 при всех x e D .

Так как эти функции в реальных задачах экономики и управления производственно-техническими и экономическими системами будут количественно выражать какие-либо показатели функционирования этих систем, то названные выше свойства этих функций и области D на практике будут выполняться очень часто (почти всегда).

Далее построим обобщенную математическую функцию

W(x, L) = f (x) - Lф(x),

где L - постоянная положительная величина.

Предположим, далее, что множество D не является пустым и обозначим

min f (x)/ф(x) = f (x(0) Уф^0) символом Lmin , т.е. f (x(0) ^ф(x(0)) = Lmin . xeD

Ясно, что

W (x(0), Lmin ) = f (x(0)) - Lminф(x(0)) = 0. (1)

Докажем три теоремы. Однако вначале вычислим

min W (x, Lmin ) = W (x(1), Lmin ) = A . (2)

xeD

Теорема 1. Величина A будет равной нулю.

Доказательство.

Из формулы (1) следует, что A < 0.

Из формулы (2) видно, что

f (x(1) )-ф((1)) Lmin -A = 0. (3)

Рассмотрим, некоторую величину 5 , удовлетворяющую равенству

A = 5ф(х(1)) .

Очевидно, что 5< 0. Равенство (3) можно представить в виде

f (x(1)) - (Lmin +5)ф(x(1)) = 0

или

Lmin +5 = L = f (x(1)Уф(x(1)) .

Если 5 p 0, то L1 p Lmin . Получилось противоречие. Следовательно, 5 = 0 и A = 0. Теорема доказана.

Теорема 2. Если L f Lmin, то имеется хотя бы одна точка x(2) e D , при которой выполняется условие: minW(x,L) = W(x(2), L)p0.

xeD

Доказательство.

Ясно, что W(x(0), Lmin) = 0, где x(0) - оптимальное решение рассматриваемой задачи. Рассмотрим, далее, следующее условие:

W(x(0), L) = f (x(0))-Lф(x(0)) = [f (x(0))-Lminф(x(0))]--(L - Lmin ) ф (x(0)) = (Lmin - L)'ф (x(0)).

Так как L f Lmin , то следовательно W (x(0), L) p 0,

Теперь нетрудно видеть, что

minW(x, L) = W(x(2), L)< W(x(0), L) p 0. xeD

Теорема 2 доказана.

Теорема 3. Если L p Lmin , то для всех x e D должно выполняться неравенство W (x; L ) f 0 .

Доказательство.

Предположим, что теорема 3 неверна. То есть имеется хотя бы одна точка x(3) e D , при которой выполняется неравенство

f (x(3))-Lф(x(3)) = W(x(3), L) = A < 0 .

Далее воспользуемся некоторой величиной 5 , удовлетворяющей равенству: A = 5ф( x(3)). Очевидно, что 5 < 0 . Тогда должно выполняться условие

f (x(3))-Lф(x(3) )-5ф( x(3) ) = 0.

или

L +5 = L = f (x(3))ф(x(3)) .

Так как 5< 0 , то следовательно: L1 < L p Lmin.

Таким образом, имеется допустимое решение рассматриваемой задачи x(3) , при котором критериальная функция этой задачи принимает значение, которое меньше чем Lmin . Получилось противоречие. Теорема 3 доказана.

Следствием этой теоремы является выполнимость неравенства

min W (x, L) f 0

xeD

при любом фиксированном значении положительной величины L, удовлетворяющей условию L p Lmin . На основе вышеописанных теорем можно построить несколько различных эффективных численных методов (вычислительных процессов) поиска оптимальных решений задач с дробными критериальными функциями. Опишем один из них.

Описание вычислительного процесса поиска решения задачи

С целью использования испытанных на практике и эффективных численных методов решения сложных задач математического программирования [6 - 9] введем дополнительные ограничения. А именно: допустим, что D - выпуклое множество; f (х) - выпуклая функция на множестве D; ф(х) - вогнутая функция на множестве D.

Очевидно, что W (х, L) тоже будет выпуклой функцией на множестве D при любом неотрицательном фиксированном значении величины L. Если же f (х) и ф(х) будут линейными функциями, а множество D задано с помощью линейных ограничений, то можно будет воспользоваться методами линейного программирования.

Введем следующие обозначения: C0 = min f (х); A = maxф(х);

xeD xeD

Lo = Co/A) . Очевидно, с помощью современных численных методов и ЭВМ значения этих величин нетрудно вычислить. Ясно также, что Lo < Lmin . Далее, будет использоваться сколь угодно малая положительная величина е.

Вычислительный процесс для поиска оптимального решения рассматриваемой задачи математического программирования можно разделить на 14 шагов (частей).

Кратко сущность его заключается в том, что вначале находится интервал для величины L, в котором находится искомая величина Lmin , а именно

Li p Lmin p L2 , где Li и L2 границы интервала.

Затем осуществляется последовательное сжатие этого интервала с помощью деления его на две части. Этот процесс длится до тех пор, пока длина интервала, включающего Lmin , не превратится в сколь угодно малую величину. Запишем эти шаги вычислительного процесса.

Шаг 1. Вычислим Co = min f (х); Ao = max f (х); Lo = Co/Ao .

xeD xeD

Шаг 2. Положим, что Li = Lo и найдем min W (x, Lo) = W (x(1), Lo)) = Ao .

xeD

Шаг 3. Если |A^ p е, то вычислительный процесс окончен. В этом случае

х(1) - оптимальное решение задачи и Lmin » Lo. В противном же случае надо будет выполнить шаг 4.

Шаг 4. Положим L2 = dLi, где d - любое число, превосходящее единицу.

Однако наиболее целесообразно, чтобы d e |l, 2; 2|.

Шаг 5. Вычислим min W (x, L2) = W (x(1), L2) = Ao .

xeD

Шаг 6. Если |A^ p е, то вычислительный процесс окончен. В этом случае

х(1) - оптимальное решение рассматриваемой задачи и Lm;n » L2 . В противном же случае надо будет выполнить шаг 7.

Шаг 7. Если Ao f o, то необходимо будет положить Li = L2 и перейти к выполнению шага 4. В противном же случае надо будет выполнить шаг 8.

Шаг 8. Если L2 - Li p е , то вычислительный процесс окончен. В этом случае

х(1) - оптимальное решение задачи и Lmin » Li. В противном же случае надо будет выполнить шаг 9.

Шаг 9. Положим L3 = (Li + L2 )/2 .

Шаг 10. Вычислим min W (х, L3) = W (x(i), L3) = Ao .

xeD

Шаг 11. Если |Ao| p е, то это конец вычислительного процесса. В этом случае x(i) - оптимальное решение задачи и Lmin = L3 . В противном же случае надо будет выполнить шаг i2.

Шаг 12. Если Ao f o, то надо выполнить шаг i3. В противном же случае надо будет выполнить i4.

Шаг 13. Положим Li = L3 и перейдем к выполнению шага 8.

Шаг 14. Положим L2 = L3 и перейдем к выполнению шага 8.

Численный пример

Рассмотрим задачу математического программирования с числовыми значениями постоянных величин.

Найти xi, х2, х3, х4, при которых

L = (xi + 3x2 + o, 5х3 + o, 5х4xi + х2 + х3 + o, 3х4) —— min при условиях:

xi +... + х4 < i5; i < xi < io; x2 > o; 2 < x3 < 5; x4 > i;

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

xi,..., x4 - целые числа.

Таким образом, эта задача относится к задачам целочисленного программирования с дробной критериальной функцией.

Выполним шаги вычислительного процесса. Положим е = o, oo2 и d = 2. Для нахождения же значений величин Co и Ao необходимо решить две задачи целочисленного программирования.

Шаг 1. Решается следующая задача (задача i).

Найти xi,...,х4, при которых критериальная функция

Co = xi + 3x2 + o, 5x3 + o, 5x4 — min при условиях исходной задачи:

xi + x2 + x3 + x4 < i5 ; i < xi < io; x2 > o; 2 < x3 < 5; x4 > i,

xi,..., x4 - целые числа.

Применяя какой-либо метод целочисленного линейного программирования [7] найдем оптимальное решение этой задачи и соответствующее значение величины Co .

Очевидно, оптимальное решение этой задачи будет иметь вид xii) = i; x2i) = o; x3i) = 2; x4i) = i; Co = 2,5.

Вторая задача формулируется следующим образом

Найти xi,..., х4, при которых критериальная функция

Ao = 2 xi + х2 + х3 + o, 3x4 —— max

при вышеописанных условиях исходной задачи.

С помощью какого-либо метода целочисленного линейного программирования найдем оптимальное решение этой задачи.

Нетрудно видеть, что оптимальное решение ее имеет вид

xii) = io; x2i) = o; x3i) = 4; x4i) = i; Ao = 24,3; Lo = Co/Ao = o,io29 .

Шаг 2. Положим, далее, Li = Lo = o,io29 . Очевидно, что W x x, Lo ) = = o,794xi + 2,8971x2 + o,397 x3 + o,469ix4. Здесь надо будет решить следующую задачу.

Найти xi,..., х4, при которых критериальная функция

Ao = W (х; o,io29) = o,794xi + 2,897ix2 + o,397x3 + o,469ix4 — min

при вышеописанных условиях исходной задачи.

Оптимальное решение ее также можно будет найти с помощью известных методов. Очевидно, оптимальное решение ее будет иметь вид

xii) = i; x2i) = o; x3i) = 2; x4i) = i; Ao = 2,o5oi.

Шаг 3. Так как Ao f е , то надо будет выполнить шаг 4.

Шаг 4. Положим L2 = o,io29 + o,io29 = o,2o58. Далее выполним шаг 5.

Шаг 5. Здесь надо будет решить следующую задачу.

Найти xi,..., х4, при которых критериальная функция:

Ao = W x o,2o58) = o,59xi + 2,7942x2 + o,294x3 + o,4383x4 — min

при условиях исходной задачи.

Очевидно, оптимальное решение этой задачи будет иметь вид

xii) = i; x2i) = o; x3i) = 2; x4i) = i; Ao = i, 62 .

Далее, выполним шаг 6.

Шаг 6. Так как Ao значительно превосходит величину е , то надо будет выполнить шаг 7.

Шаг 7. Так как Ao f o, то надо будет положить Li = o,2o58 и далее, надо будет выполнить шаг 4.

Шаг 4. Положим L2 = o,2o58 + o,2o58 = o,4ii6 и, далее, надо будет выполнить шаг 5.

Шаг 5. Здесь надо будет решить следующую задачу.

Найти xi,..., х4, при которых критериальная функция

Ao = W (х; o,4116) = o,i768xi + 2,588x2 + o,o884x3 + o,3765x4 — min

при условиях исходной задачи.

Очевидно, оптимальное решение ее будет иметь вид

x1i) = 1; x2i) = o; x3i) = 2; x4i) = 1; Ao = o,73 .

Далее надо будет выполнить шаг 6.

Шаг 6. Так как Ao значительно превосходит величину е, то надо будет выполнить шаг 7.

Шаг 7. Так как Ao f o, то надо будет положить Li = L2 = o, 4116 и, далее, перейти к выполнению шага 4.

Шаг 4. Положим L2 = o,4116 + o,4116 = o,8232 и переходим к выполнению шага 5.

Шаг 5. Здесь надо будет снова решить следующую задачу.

Найти xi,..., х4, при которых критериальная функция

Ao = W (х; o, 8232) = -o, 6464xi + 2,1768x2 - o, 3232x3 + o, 253x4 — min

при условиях исходной задачи.

Очевидно, оптимальное решение ее имеет вид

x1i) = io; x2i) = o; x3i) = 4; x4i) = 1; Ao = -7,5 .

Далее, выполним шаг 6.

Шаг 6. Так как |Ao | значительно превосходит е, то надо будет выполнить следующий шаг 7.

Шаг 7. Так как Ao p o , то надо будет выполнить следующий шаг 8. (Здесь границы промежутка, содержащего искомую величину Lmin , уже будут вычислены).

Шаг 8. Так как x - Li) = (o,8232 - o, 4116) = o, 4116 значительно превосходит величину е , то надо будет выполнить следующий шаг 9.

Шаг 9. Положим L = xo,8232+o,4116)/2 = o,6174 .

Далее надо будет выполнить шаг io.

Шаг 10. Здесь необходимо решить следующую задачу.

Найти xi,..., х4, при которых критериальная функция

Ao = W {я; o,6174) = -o,2348x1 + 2,3826х2 -o,1174х3 + o,3148x4 — mm

при условиях исходной задачи.

Оптимальное решение ее имеет вид

xi = io; x21) = o; x31) = 4; x41) = 1; Ao = -2,5.

Далее выполним шаг 11.

Шаг 11. Так как |Ao| значительно превосходит величину е, то надо будет выполнить шаг i2.

Шаг 12. Так как Ao p o , то надо будет выполнить шаг i4.

Шаг 14. Положим L2 = L3 = o,6174 . Далее необходимо выполнить шаг 8. Шаг 8. Так как ^ - Li) = o, 2o58 и значительно превосходит величину е, то надо будет выполнить шаг 9.

Шаг 9. Положим, что L3 = (o,6174 + o,4116)/2 = o,5145 и выполним шаг io. Шаг 10. Здесь надо будет решать следующую задачу.

Найти xi,..., х4, при которых критериальная функция

Ao = W x o, 5145) = -o,o29xi + 2,4855x2 - o,oi45x3 + o,3456x4 — min при условиях исходной задачи.

Очевидно, оптимальное решение ее будет иметь вид

х[1} = 10; х® = 0; х31} = 4; x^ = 1; Д0 = -0,00244 .

Так как |Д^ еще превосходит величину е, то надо будет продолжить вычислительный процесс. Однако в процессе вычислений уже получены следующие результаты:

min W (х; 0,5145) = -0,00244

xeD

и

minW(х; 0,4116) = 0,73.

xeD

Это означает, что выполняется условие 0,4116 p Lmin p 0,5145. Продолжая этот вычислительный процесс, аналогично получим, что

min W (х; 0,5134) = 0,0243 . Но, так как разность (0,5145 - 0,5134) = 0,0011 мень-

xeD

ше величины е, то можно считать, что Zm;n » (0,5134 + 0,5145)/2 = 0,514. Оптимальное решение находим с помощью решения следующей задачи. Найти xj,..., Х4, при которых критериальная функция

Д0 = W (x; 0,514) = -0,028x! + 2,486x2 - 0,014x3 + 0,3458x4 a min

при условиях исходной задачи. Оптимальное решение будет иметь вид

x1(1) = 10; x^ = 0; x® = 4; x® = 1; Д0 = 0,009; Lmin * 0,514.

Более точное значение Lmin = (10 + 0 + 0,5 • 4 + 0,5)/(2 • 10 + 0 + 4 + 0,3) = = 0,5144.

Вычислительный процесс окончен. Оптимальное решение исходной задачи математического программирования будет иметь вид: xi = 10; x2 = 0; x4 = 1 и

Lmin = 0,5144.

Заключение

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

Список литературы

1. Математика и кибернетика в экономике. Словарь-справочник. - М: Экономика, 1975. - 700 с.

2. Шварцман А.И. Об одном алгоритме дробно-линейного программирования. - Экономика и математические методы. Вып. 4. 1965. - С. 558 - 565.

3. Чернов Ю.П. О задачах дробного программирования с линейными, сепарабельными и квадратичными функциями. - Экономика и математические методы. Вып. 5, 1971. - С. 721 - 732.

4. Типовая методика разработки пятилетнего плана производственного объ-единения(комбината) предприятии. - М.: Экономика, 1975. - С. 367 - 371.

5. Архипенков С.М. Метод решения оптимизационных задач планирования специального вида // Совершенствование управления производственными системами: Сб. науч. тр. / НИНХ; НГУ. - Новосибирск, 1986. - С. 3 - 12.

6. Гольштейн Е.Г., Юдин Д.Б. Задачи линейного программирования транспортного типа. - М.: Наука, 1969. - 382 с.

7. Корбут А.А., Финкельштейн Ю.Ю. Дискретное программирование. - М.: Наука, 1969. - 366 с.

8. Кузнецов Ю.Н., Кузубов В.И., Волощенко А.Б. Математическое программирование. - М.: Высш. школа, 1980. - 380 с.

9. Ромакин М.И. Оптимизация планирования производства (экономикоматематические модели и методы). - М.: Финансы и статистика, 1981. - 109 с.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Solution Method of Economic Tasks of Mathematical Programming with Fractional Creteria Functions

S.M. Arhipenkov

Department «Economic Analysis», TSTU

Key words and phrases: valid solution; task of mathematical programming; optimal solution.

Abstract: Task of mathematical programming with fractional criteria functions is considered. The effective numerical method for search of optimal solution of these tasks is offered. Convergence of the suggested method is proved. Solution of a numerical example of economic optimization is described.

Methode der Lösung der ökonomischen Aufgaben des matematischen Programmierens mit den Bruchkriterialfunktionen

Zusammenfassung: Es ist die Aufgabe des matematischen Programmierens mit den Bruchkriterialfunktionen untersucht. Es ist die wirksame numerische Methode der Suche der Optimallösung dieser Aufgaben vorgeschlagen. Es ist die Konvergenz der vorgeschlagenen Methode bewiesen. Es ist die Lösung der numerischen Rechenaufgabe der ökonomischen Optimierung beschrieben.

Méthode de la solution des problèmes économiques de la programmation mathématique avec les fonctions fractionnaires de critères

Résumé: Est examiné le problème de la programmation mathématique avec les fonctions fractionnaires de critères. Est proposée la méthode numérique efficace de la recherche de la solution de ces problèmes. Est prouvée la convergence de la méthode proposée. Est décrite la solution de l’exemple numérique de l’optimisation économique.

i Надоели баннеры? Вы всегда можете отключить рекламу.