ший интерес вызывает показатель сумм НДС, подлежащих к уплате в бюджет, так как именно эти поступления и формируют, по большей части, доходную сторону бюджета.
Построенная мультипликативная модель объясняет 71,5 % общей вариации уровней временного ряда, в то время как аддитивная модель объясняет 62 % вариации. Можно утверждать, что для расчета сумм НДС, подлежащих уплате сельхозтоваропроизводителями, предпочтительнее использовать мультипликативную модель.
Прогнозное значение сумм НДС, подлежащих уплате в бюджет в IV квартале 2016 года и в I квартале 2017 года, рассчитанное по мультипликативной модели, составляет соответственно 114720891,4 руб. и 30768518,9 руб.
Библиографический список
1. Дудинова Е.Е. Проблематика возврата НДС по результатам экспорта зерна за пределы России // Политематический сетевой электронный научный журнал Кубанского государственного аграрного университета. - 2013. - № 94 [Электронный ресурс]. - Режим доступа: http://cyberleninka.rU/article/n/proble matika-vozvrata-nds-po-rezultatam-eksporta-zerna-za-predely-rossii
2. Статистические методы анализа данных / под общ. ред. Л.И. Ниворож-киной. - М.: РИОР: ИНФРА-М, 2017.
3. Арженовский С.В. Методы социально-экономического прогнозирования. М.: ИТК Дашков и К; Ростов н/Д: Наука-Спектр, 2008.
4. Сажин Ю.В., Катынь А.В., Са-райкин Ю.В. Анализ временных рядов и прогнозирование. Саранск: Изд-во Мордов. ун-та, 2013.
Bibliographic list
1. Dudinova E.E. The problem of VAT refunds according to the results of grain exports outside Russia // Polytematic network electronic scientific journal of the Kuban State Agrarian University. - 2013. - No. 94 [Electronic resource]. - Access mode: http://cyberleninka.ru/article/n/ problematika-vozvrata-nds-po-rezultatam-eksporta-zerna-za-predely-rossii
2. Statistical methods of data analysis / Ed. prof. L.I. Nivorozhkina. - M.: RIOR: INFRA-M, 2017.
3. Arzhenovskiy S.V. Methods of socio-economic forecasting. Moscow: ITK Dashkov and Co.; Rostov-on-Don: Science-Spectrum, 2008.
4. Sazhin Yu.V., Katyn A.V., Saraykin Yu.V. Time series analysis and forecasting. Saransk: Mordov Publishing House. University, 2013.
УДК 519.688
Арженовский С. В., Синявская Т. Г., Рудяга А. А.
РЕШЕНИЕ ЗАДАЧИ ЦЕЛОЧИСЛЕННОЙ ОПТИМИЗАЦИИ ДЛЯ ФИРМЫ
Аннотация
В статье поставлена задача частично-целочисленного линейного программирования для выработки оптимальной инвестиционной политики фирмы. Предложен алгоритм численной реализации модели, основанный на методе ветвей и границ.
Ключевые слова
Инвестиции, производственный план, целочисленное программирование, метод ветвей и границ.
JEL: C61, C63, D22
Arzhenovskiy S. V., Sinyavskaya T. G., Rudyaga A. A. SOLUTION OF INTEGER OPTIMIZATION PROBLEM FOR FIRM
Annotation
Article poses the problem of partially-integer linear programming for developing the optimal investment policy of firm. Algorithm for numerical realization of model based on method of branches and boundaries is proposed.
Keywords
Investment, production plan, integer programming, branch and boundary method.
Среди особенностей инвестиционных решений на уровне фирмы можно в настоящее время отметить высокую степень связывания материальных и финансовых средств, рыночную гибкость осуществления инвестиционных проектов, взаимосвязанность различных сторон деятельности фирмы в процессе их осуществления. Общим недостатком существующих разработок является то, что в них поиск оптимальной программы вложений не адаптирован к изменяющимся внешним условиям периода реформирования экономики и не отражает динамики функционирования фирмы. Отсутствует теоретически обоснованный критерий оценки эффективности вложений - большинство исследователей используют зарубежные методики без их соответствующей корректировки применительно к условиям российской экономики. В этой связи актуальной является проблема выработки оптимальной инвестиционной политики фирмы.
Для решения указанной проблемы в [1] предложена системная модель, одной из компонент которой является задача частично-целочисленного линейного программирования (ЗЦЛП). Решение задачи дает оптимальный производственный план фирмы и оптимальную структуру дополнительных производственных ресурсов, и зависит от параметра - величины инвестиционных средств I. Постановка задачи имеет вид следующей математической модели:
f (x, z) =
n m
XcjxJ -E X wz
j=i
i=m +1
max,
1. X a. x. < b + z., i = 1,m,
¿^ lJ J i i
j=1 m
2. X w.z. < I, ^^^ i i 7
i=1
3.0 < x. < x., J = 1,n, z - 0, i = 1,m,
* * л
4. z - целое, i = m +1, m.
(1)
где агу - количество единиц /-го ресурса, расходуемого на единицу у-го продукта, Су - прибыль от единицы продукции у, wг - стоимость единицы ресурса г, zг - объем пополнения ресурса /, Ен -нормативный коэффициент окупаемости инвестиций I, Ху - объем выпуска продукции Ьг - объем ресурса /, здесь первые т ресурсов - оборотные средства, а (т - т ) - основные средства. В (1) I задается сеткой значений I = (II, ... Щ.
Особенностью модели (1) является зависимость от величины параметра I. Кроме этого модель (1) на самом деле является частично-целочисленной: так как, очевидно, нельзя приобрести долю
какого-либо оборудования, то перемен*
ные Zi, г = т + 1, ..., т должны принимать только целые значения. Для переменных Ху,у =1, ..., п дробная часть означает незавершенность производства соответствующей единицы изделия. Прирост оборотных средств г = 1, ..., т может быть величиной нецелой, за ис-
n
ключением прироста трудовых ресурсов, причем в этом случае возможно принятие работника на 1/4, 1/2 и т.д. ставки. Таким образом, переменные г^, г = т + 1, ..., т (прирост основных фондов) могут принимать только целочисленные значения на конечном множестве, то есть (1) фактически имеет вид параметрической модели частично-целочисленного линейного программирования:
Модель (1) дает важную информацию о состоянии технологических и организационных возможностей предприятия, финансовых результатах функционирования. В частности, в результате
решения модели (1) можно определить:
*
• Оптимальный объем х * выпуска изделия у'-го вида (у = 1, ..., п) из п наименований.
• Величину неудовлетворенного спроса на изделие ', если известна величина рыночного спроса на это изделие.
• Дополнительное количество г *
оборудования г вида (г=т +1, ... , т).
• Величину неиспользованного фонда времени по г-му оборудованию.
• Величину свободной площади цеха к после установки дополнительного количества оборудования.
• Резерв денежных средств предприятия после покупки дополнительного количества оборудования.
• Дополнительное количество рабочих по цехам.
• Величину неиспользованного фонда времени рабочих.
• Дополнительное количество материала 1-го вида.
• Величину оборотных средств предприятия.
• Суммарную величину прибыли от реализации оптимальной производственной программы предприятия при оптимальной структуре производственных ресурсов для заданных I.
• Меняя значения параметра I в
(1), получим при различных I опти-
* *
мальные величины Ф (I) и К (I), то есть таблично заданные функции соответственно годовой прибыли и вложений денежных средств в основные фонды от величины инвестиций I (табл. 1).
Таблица 1 - Табличное задание функций Ф*(1) и К*(1
I 0 11 12 ...
Ф*(!) Ф*(0) Ф*(!0 Ф*№)
К(Т) 0 к*(Ю к*№)
Причем I принимает значения !={0 < ¡1 < ... < IN}, а К (I) рассчитывается по формуле:
т
К *( I) = ]Тжг,\ V« (I)}.
/=т'+1
* *
Функции Ф (I) и К (I) содержат информацию о динамике основных параметров (вложения финансовых средств и величина прибыли от них) инвестиционного процесса развития предприятия.
Методы решения задач типа (1) изучены достаточно полно и делятся на три основные группы [2, 4, 5, 6].
I. Методы первой группы характеризуются «регуляризацией» задачи, достигаемой погружением ее исходной области допустимых решений в объемлющую ее выпуклую область (иными словами временным отбрасыванием условий дискретности). Затем к получившейся регулярной задаче применяются стандартные методы оптимизации. Если получившееся решение удовлетворяет условиям дискретности, то задача решена, иначе требуется дальнейший переход к целочисленному решению. Он заключается в том, что к ограничениям исходной задачи добавляется
новое линейное ограничение - «сечение», такое, что:
- полученный нецелочисленный план вводимому ограничению не удовлетворяет,
- любой целочисленный план вводимому ограничению удовлетворяет.
Затем решается полученная расширенная задача, в случае необходимости добавляется еще одно ограничение и т. д., до получения целочисленного решения. Таким образом, решение частично-целочисленной задачи линейного программирования сводится к решению некоторой последовательности обычных задач линейного программирования (ЛП). Методы, опирающиеся на эту идею, получили название «методов отсечения» в соответствии с геометрической интерпретацией линейного ограничения как гиперплоскости, отсекающей от многогранника решений «регу-ляризованной» задачи старую оптимальную точку с дробными координатами, но не затрагивающей ни одной из целочисленных точек этого многогранника. Впервые идея такого перехода была высказана Д. Данцигом, развита в вычислительном аспекте Р. Гомори, Кюнци [2, 4, 5, 6].
II. Вторая группа методов использует комбинаторный характер задачи. Методы этой группы по своему характеру довольно разнородны, но все они в какой-то степени используют идею перебора. Впервые метод такого рода был предложен в работе Лэнд и Дойг [7]. Позднее Литтл и другие авторы использовали подобные идеи в алгоритме, получившем название «метода ветвей и границ».
III. Третья группа методов - это методы случайного поиска и другие приближенные методы. Возникновение последних стимулировалось сложностью точных методов и трудностью в реализации последних для задач больших размеров. Кроме того, специфическая структура многих задач позволяет
разработать достаточно мотивированные эвристические подходы, ценные своей простотой.
Как показывает опыт вычислительных экспериментов [2] поведение алгоритмов метода отсечения характеризуется «нерегулярностью» и «непредсказуемостью». Для ряда задач оптимальное решение не удавалось получить после многих тысяч итераций, в то время как другие задачи решались за несколько десятков итераций. «Нерегулярность» сказывается и в факте, подмеченном рядом исследователей: иногда существенно удавалось сократить число итераций за счет перенумерации переменных. Имеет место немонотонность приближения к оптимальному плану, наконец, большое влияние на число итераций оказывает правило выбора порождающей отсечение строки. Поэтому для решения задачи (1) был выбран метод ветвей и границ (МВГ), к описанию которого с необходимой его модификацией применительно к нашей задаче и переходим.
Рассмотрим задачу ЛП в общей форме [3]:
/(Х) ^ тах (2)
при условии ХеО, (3)
где / - целевая функция, О - некоторое конечное множество целочисленных значений X.
В основе МВГ лежат следующие построения, позволяющие в ряде случаев существенно уменьшить объем перебора [2]. Вычисление верхней границы (оценки). Почти всегда удается найти верхнюю границу целевой функции / на множестве планов О (или некотором его подмножестве О' ), то есть такое число ((О), что дляХ<еО имеемДХ)<((О).
Разбиение на подмножества (ветвление). Реализация метода связана с постепенным разбиением множества планов О на дерево подмножеств (ветвлением). Ветвление происходит по следующей многошаговой схеме:
0 шаг. Имеется множество 0°=0. Оно разбивается на непересекающиеся
подмножества О/, 02,,..., О^ .
к (к > 1) шаг. Имеются множества
01 5 О2,..., °гк
еще не подвергавшиеся ветвлению.
/^к /^к ^к ^к О1 , О2 5 ...5 °у(к)-15 О
\(к )-
заново обозначаются через
-тк+1 ^-гк+1 ^-гк+1
у(к)+1'
/~<к+1 к О1 5 О2
, ок
гк+1
Несколько шагов такого процесса изображены на рис. 1.
3. Пересчет оценок. Если множество то, очевидно,
тах / ( X ) < тах / ( X)
ХеО X еОп
По некоторому правилу среди них
выбирается множество О^) и разбивается на конечное число подмножеств
^"ук у^Ук к
Оу(к),1 , Оу(к),2 ,..., Оу(к(к)
Еще не подвергавшиеся разбиению множества
ак ^к ^к - к 5 Ч(к),15 Ч(к),2 5 ...5 О
к
т\(к),л(к)
Поэтому, разбивая некоторое множество О' на подмножества:
1=\
будем считать, что оценка для любого О' не больше оценки для О':
<С(О')5 I = М
О?
а] с;
4. Вычисление планов в последо вательно разветвляемых множествах.
Рисунок 1 - Схема ветвления
5. Признак оптимальности. Пусть
л _
G = и план X Е . Если
1=1
f (x) = C(GV) >C(G), i=1, *,
то X оптимальный план задачи (1)-(2).
Описанные построения конкретизируются следующими основными правилами [2].
1. Выбор подмножества, подлежащего ветвлению:
• ветвление по наибольшей верхней оценке,
• ветвление по заранее предписанному правилу,
• ветвление с использованием приоритетов,
• ветвление с использованием штрафов, псевдоцен, псевдотеневых оценок и т.д.,
• ветвление по вероятностным характеристикам.
2. Выбор способа ветвления. Пусть
/ ^min ^ ^ rmax
переменная Xj (dj < x. < dj ), где
jmin jmax
dj , dj - целые) приняла нецело-
л,
численное значение x ■, тогда возможны ветвления:
• на два подмножества (дихотомическое ветвление), определяющиеся ограничениями Xj < [ х . ] и X^. — [ Xj ] +1,
['] - целая часть числа.
• на три подмножества с фиксацией на некотором целочисленном зна-
jmin ^ _ ^ rmax _
чении a, d. <а< d. , обычно
а = [Xj ]: xj < a, Xj = a, xj — a
• на dmin - dmax +1 подмножества (фиксация на всех целочисленных значе-
\ -„. ^min Jmin , i jmax
ниях Xj): x = d , x. = d +1,..., X = d - .
Причем, если несколько переменных принимают нецелочисленные значения, то переменная Xj для ветвления выбирается либо по приоритетам переменных, которые назначаются пользователем, либо по соответствующим коэффициентам целевой функции, либо по эвристическим правилам.
3. Выбор метода построения оценочных подмножеств. Наиболее распространенным способом построения оценочных подмножеств является отбрасывание условий целочисленности для всех или некоторых переменных.
4. Выбор метода вычисления планов в разветвляемых подмножествах. Здесь используется симплекс-метод, двойственный симплекс-метод, штрафы, алгоритм отсечения «внутри» МВГ с фиксированным числом итераций.
Для реализации описанных построений МВГ требуется конкретизировать основные правила 1-4. Это проделано для частично целочисленной задачи линейного программирования (1) с использованием и опорой на классическую схему МВГ Лэнд и Дойг [7], модифицированную с учетом специфики задачи (1).
Основная идея классической схемы МВГ. Как и в методах отсечения процесс начинается с решения соответствующей (1) задачи линейного программирования (ограничения 1 -3 в (1)). Если полученный при этом оптимальный план (X, Т) не удовлетворяет условиям целочисленности (условия 4 в (1)), то значения целевой функции _ДХ, Т) = ( на этом плане дает верхнюю границу для искомого оптимума, то есть ( < тах(/). Пусть некоторая переменная zi (г=т +1, ..., т) не получила в плане (X, Т) целочисленного значения. В оптимальном частично-целочисленном плане значение zi должно быть либо уменьшено по крайней мере до ^г], либо увеличено по крайней мере до И+1.
Указанные возможности можно представить в виде некоторого дерева задач, в котором первая вершина отвечает исходному плану (X, Т), а каждая из двух соединенных с ней ветвью вершин отвечает оптимальному плану задачи вида: максимизировать / при условиях 1-3 задачи (1) и дополнительном условии, либо zг < ^г], либо < zi.
Каждой из вершин приписывается гра-
г к
ница ( , равная максимальному значению / для соответствующей задачи. Ясно, что С<(, Ук. Если оптимальные планы указанных задач удовлетворяют условию целочисленности, то план с максимальной границей и будет оптимальным планом задачи (1). В противном случае возникает необходимость в дальнейшем разветвлении дерева из некоторых вершин, не удовлетворяющих условиям целочисленности; это осуществляется аналогичным образом. Разумеется, для разветвления следует каждый раз выбирать вершину с наибольшей границей. Любой путь в дереве от первой вершины до некоторой вершины определяет допустимую последовательность выбора целочисленных значений для переменных задачи. Процесс продолжается до тех пор, пока дальнейшее ветвление становится невозможным. Каждая конечная вершина отвечает некоторому допустимому частично-целочисленному плану, оптимальный план дает вершина с максимальным значением /. Перейдем к описанию алгоритма МВГ.
1 шаг. Задаем множество О условиями 1-3 ЗЦЛП (1). Вычисляем оценку С(О)=ДХ, Т), где (X, Т) - оптимальный план задачи (1) с 1-3, симплекс-методом линейного программирования. Если решение (X, Т) удовлетворяет условию 4 в (1), то (X, Т) - оптимальный план, иначе переходим к шагу 2.
2 шаг. Разбиваем множество О на
подмножества определя-
ющиеся так:
0 ={(Х,2)|(Х,2)е С, ]\2]
01 ={( Х, 2 )|( Х, 2 )е ]\ +1},
где Zj - нецелочисленная компонента плана (X, Т), полученного на шаге 1. Переменная Zj выбирается по назначенному приоритету - минимальному зна-
*
чению w , ] = т +1, т. Вычисляем оценки ((о)), г = 1, 2 двойственным
симплекс-методом. Если найдется частично-целочисленный план (Х, 2 ) та-
кой, что
<2
( Х, 2 )е О), 1< г
г (Х, 2 ) = ((о) )>((о)), /=1, 2,
то (Х, 2) - оптимальный план, иначе выбираем «перспективное» для дальнейшего разбиения множество О\ , V =
1, 2 по правилу: ) = тах((О1 )•
Разбиваем о1 на подмножества
2. Заново обозначаем (с
учетом неподвергавшихся разбиению подмножеств) подмножества через
О) , О2 , •••, Ои переходим к шагу 3.
к-й шаг ( к > 3 ). Вычисляем оценки ((° ), 1 = 1 г . Если найдется частично-целочисленный план (Х, 2 ) такой, что (Х, 2 ) е Окг , 1 < г < гк и
/ (Х, 2 ) = (О )>((о*), I = й,
то (Х, 2) - оптимальный план, иначе
выбираем для дальнейшего разбиения
а к
____________________________по правилу:
((ок ) = ГШ ((Ок ). Разбиваем О,
на
подмножества
непересекающиеся
О^ [}Окх2. Заново обозначаем (с
учетом неподвергавшихся разбиению подмножеств) подмножества:
к
V,),Оv,2,О1 ,О2 ,•••,Оv-1,Оv+1,•••,О /тк+1 /^-тк+1 /^-тк+1
черезО1 ,О2 ,•••,Ог ^ и переходим к
(к+1) шагу.
Таким образом, в алгоритме реализуется стратегия ветвления по максимальной оценке среди построенных подмножеств, дихотомический способ ветвления на две подзадачи (подмноже-
ства), причем переменная для ветвления выбирается по приоритету. Оценочные подзадачи решаются двойственным симплекс-методом. Признаком оптимальности плана служит максимальное значение оценки.
Задача (1) решается по алгоритму МВГ при I = 0 (причем сетка значений I считается упорядоченной I = {0 < II < /г < ... < Лт}), получается оптимальное решение (X 5 Z) и дерево ветвлений. Решение ЗЦЛП (1) при другом значении параметра I может быть получено (если оно существует) по описанному алгоритму с измененной стратегией ветвления на одностороннюю по пути, намеченному при решении задачи на 7=0. Данное соображение позволяет существенно сократить объем вычислений. В целом МВГ является достаточно эффективным методом для частично-целочисленных задач со сравнительно небольшим количеством целочисленных переменных. Основными достоинствами МВГ являются: гибкость, возможность учета эвристических соображений, основанных на специфике решаемой задачи, применение разработанного инструментария линейного программирования, использование при программировании активного диалогового режима расчета. Дать вычислительную трудоемкость метода по сравнению с методами отсечения нелегко, однако, можно отметить более простую арифметику, но несколько более сложную логику у МВГ. Опыт численной реализации показывает, что МВГ отличается большей «предсказуемостью», чем методы отсечения [2].
Таким образом, в статье поставлена задача частично-целочисленного линейного программирования для выработки оптимальной инвестиционной политики фирмы и предложен алгоритм ее численной реализации, основанный на методе ветвей и границ.
Библиографический список
1. Арженовский С.В. Оптимизация экономической динамики фирмы на основе системы математических моделей. Дисс. ... к.э.н. Новочеркасск, 1997.
2. Корбут А.А., Финкельштейн Ю.Ю. Дискретное программирование. -М.: Наука, 1969.
3. Муртаф Б. Современное линейное программирование. Пер. с англ. -М.: Мир, 1984.
4. Схрейвер А. Теория линейного и целочисленного программирования. Пер. с англ. В 2-х т. - М.: Мир, 1991.
5. Уздемир А.П. Динамические целочисленные задачи оптимизации в экономике. - М.: Физматлит. 1995.
6. Discrete Optimization. Vol. 2. Amsterdam e. a.: North-Holland Publ. Co., 1979 (Annals of Discrete Mathematics, 5).
7. LandA.H., DoigA.G. An automatic method of solving discrete programming problems// Econometrica, 1960, 28, No. 3, pp. 497-520.
Bibliographic list
1. Arzhenovskiy S.V. Optimization of company's economic dynamics based on system of mathematical models. Diss. Candidate of Economic Sciences,. Novocherkassk, 1997.
2. Korbut A.A., Finkelstein Yu.Yu. Discrete programming. - M.: Nauka, 1969.
3. Murtaf B. Modern linear programming. - M.: Mir, 1984.
4. Schrijver A. Theory of linear and integer programming. In 2 vol. - M.: Mir, 1991.
5. Uzdemir A.P. Dynamic integer optimization problems in economy. - M.: Fizmatlit. 1995.
6. Discrete Optimization. Vol. 2. Amsterdam e. a.: North-Holland Publ. Co., 1979 (Annals of Discrete Mathematics, 5).
7. Land A.H., Doig A.G. An automatic method of solving discrete programming problems// Econometrica, 1960, 28, No. 3, pp. 497-520.