Научная статья на тему 'Задача оптимального планирования работ по обновлению железнодорожной линии: постановка, алгоритмы решения'

Задача оптимального планирования работ по обновлению железнодорожной линии: постановка, алгоритмы решения Текст научной статьи по специальности «Математика»

CC BY
179
25
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
Проблемы управления
ВАК
Область наук
Ключевые слова
ЖЕЛЕЗНОДОРОЖНАЯ ИНФРАСТРУКТУРА / ЗАДАЧИ ОПТИМАЛЬНОГО ПЛАНИРОВАНИЯ / МЕТОД ВЕТВЕЙ И ГРАНИЦ / ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ / RAILWAY INFRASTRUCTURE / OPTIMAL PLANNING / BRUNCH AND BOUND ALGORITHM / DYNAMIC PROGRAMMING

Аннотация научной статьи по математике, автор научной работы — Петровец Юрий Олегович, Андрианов Дмитрий Леонидович

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

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

The paper presents the long-term optimal control problem arising in planning of railway infrastructure renewal. The paper also considers the method of solving based on the idea of branch and bound algorithm using dynamic programming approach to obtain bounds.

Текст научной работы на тему «Задача оптимального планирования работ по обновлению железнодорожной линии: постановка, алгоритмы решения»

УДК 330.4

ЗАДАЧА ОПТИМАЛЬНОГО ПЛАНИРОВАНИЯ РАБОТ 00 ОБНОВЛЕНИЮ ЖЕЛЕЗНОДОРОЖНОЙ ЛИНИИ: ПОСТАНОВКА, АЛГОРИТМЫ РЕШЕНИЯ

Ю.О. Петровец, Д.Л. Андрианов

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

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

ВВЕДЕНИЕ

Путевое хозяйство железных дорог является наиболее капиталоемкой, трудоемкой и материало-емкой отраслью железнодорожного транспорта. Например, в России в путевом хозяйстве сосредоточено 54 % всех основных фондов железных дорог, а затраты материалов на капитальные работы в путевом хозяйстве составляют более половины от соответствующих затрат всех хозяйств железной дороги [1]. В этой связи крайне важно искать пути рационального использования имеющихся средств. В данной статье будет рассмотрена задача оптимизации расходов железнодорожной компании путем правильного выбора сроков проведения работ.

Благодаря чему можно добиться экономии? При правильном определении момента обновления актива (примеры активов — рельсы, шпалы, балластный слой, стрелочные переводы и пр.) можно избежать дополнительных расходов на техническое обслуживание (ТО) и/или необязательных экономических потерь, связанных с вводом временных ограничений на скорость передвижения. При организации более крупных проектов можно снизить себестоимость работ благодаря эффекту масштаба, а также сократить время, в течение которого линия, на которой проводятся работы, будет закрыта. Кроме того, при удачном выборе сроков проекта можно добиться экономии средств путем совместного обновления активов.

Возникающая задача оказывается нетривиальной ввиду, как правило, очень большого числа неизвестных, наличия целочисленных ограничений

и специфического характера функций, описывающих динамику основных показателей. Есть способы представить данную задачу как задачу линейного целочисленного программирования [2, 3], однако, эффективность данного подхода требует проверки.

1. ПОСТАНОВКА ЗАДАЧИ

Железнодорожная линия — это крупный инфраструктурный объект, состоящий из большого числа относительно непротяженных участков пути (сегментов). В исследуемой задаче деление на сегменты основано на инженерных соображениях: все характеристики, определяющие износ железнодорожных активов (радиус кривизны, дата последнего обновления, трафик и пр.) в пределах всей длины сегмента должны быть полностью идентичны [4]. Сегмент состоит из одного или нескольких, обычно не более трех, активов, которые обновляются или ремонтируются целиком на всей длине сегмента.

Пронумеруем все сегменты и активы. Введем обозначения: S — множество номеров всех сегментов, 5 — число сегментов, А — множество номеров всех активов, А. — множество номеров активов на

сегменте У, а — число всех активов, а. — число ак-

тивов на сегменте у, а. и ау наименьший и наибольший номера актива на сегменте у. Схематически структура линии представлена на рис. 1.

Рассмотрим износ линии в моменты времени 1, ..., Т. Предполагается, что один момент времени — это календарный или финансовый год, а

Рис. 1. Структура железнодорожной линии

длина прогнозного периода равна нескольким десяткам лет. Железнодорожная компания оказывает на износ управляющее воздействие в виде периодического обновления активов [5]. Введем оператор управления и:{1, ..., Т} ^ {0, 1}-, где {0, 1}п — вектор из п элементов, каждая компонента которого равна 0 или 1. Будем понимать ик(г) как решение обновить, если ик(г) = 1 или не обновить, если ик(г) = 0, актив к в момент времени г.

Все характеристики износа конкретного актива могут быть однозначно определены по его сроку службы. Далее, говоря об износе, будем подразумевать возраст актива (в годах). Обозначим

х:{0, ..., Т} ^ — оператор, определяющий износ линии. А именно, будем понимать хк(г) — возраст актива к в момент времени г. Динамика износа определяется как

(/) ( (/) (, 1)) Гt- 1) + 1, ик(0 = 0 хк(г) = ф(ик(0, хк(г - 1)) -

1,

к е А, г е {1, ..., Т},

0

и к( 0 = 1, (1)

(2)

хк(0) = х к, к е А.

Введем ограничения на максимальный и минимальный срок службы:

хк(г) е Х*к с Ы, к е А, г е {1, ..., Т}. (3)

В зависимости от износа и управления могут быть однозначно определены следующие показатели деятельности железнодорожной компании: расходы на обновление, расходы на ТО, экономические потери. Все показатели вычисляются для каждого сегмента, в зависимости от состояния его активов. Для удобства введем обозначения:

и у(0 = (и а. (г), ..., и _ (г)), х '(г) = (х-. (г), ..., х- (г)),

-з а -з а

у е г е {1, ..., Т}.

Расходы на обновление на сегменте у в момент времени г определяются функцией '(и'(г), г), у е г е {1, ..., Т}.

Эти расходы обладают важной особенностью — они зависят от сочетания обновляемых активов. Эта особенность является одной из ключевых предпосылок для оптимизации, так как позволяет путем объединения работ по обновлению разных видов активов на одном сегменте уменьшить суммарную стоимость обновления. Справедливо неравенство

X /Г(¿(к - а + 1), 0 > /Г(и'(г), г),

к е А к

у е г е {1, ..., Т}, где е':{1, ..., а7} ^ {0, 1}- определяется равенствами

Г е к (0 = 1, к = /,

г

е •'(г) =

ек(г) = 0, к * г,

, У е

Расходы на ТО на сегменте у в момент времени г определяются функцией

/^ (х'(г), г) = X /Г (Хк(г), г),

к е Аз к

у е г е {1, ..., Т},

где /к-т (хк(г), г) — расходы на ТО отдельного актива к в момент времени г.

Расходы на ТО начинают стремительно возрастать после превышения активом срока службы как из-за удорожания, так и из-за учащения работ отдельных видов [6, 7].

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

Вероятность ввода ограничения в результате чрезмерного износа актива к в момент времени г

ДАТ^, ,) = /к-' (Хк(г), г), к е А, г е {1, ..., Т}

считается равной нулю, если срок службы актива меньше инженерного срока.

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

(х'(г), г) =

= Р(АТ£Яа , или ... или АГСЯ- )/Г(г), у е г е {1, ..., Т},

где (/) — размер экономических потерь (в случае ввода ограничения) на сегменте у в момент времени и

Известно, что работы по обновлению активов лучше объединять в проекты. Это позволяет учесть: эффект экономии от масштаба, сокращение времени и соответственно расходов из-за неиспользования линии, недовольство пользователей железнодорожных услуг. Поэтому добавляются ограничения на паузы между обновлениями:

И0Н|и(; - у)|| = 0, t е {1, ..., Т},

у е {1, ..., р}, t - у > 0, (4)

где р > 1 — пауза между обновлениями.

Для решения проблем, связанных с ограниченностью прогнозного периода, вводятся штрафы за обновление активов раньше рекомендованного срока:

/¡р (.), . - 1), о /г («¿о), - 1), о =

к е а

= I /ГИ* - а + !), 4 х

к е А

x k (t - 1) + 1

/fe( t - x k (t - 1) - 1)

где /Jife (т) — функция, определяющая срок службы актива k, при условии, что в последний раз он был обновлен в момент времени т, а

Zk(t) = ©(Xk(t - 1)) = Xk(t - 1) + 1,

k e A, t e {1, ..., T}. (5)

Целевая функция

T

X X j (uj(t), xj(t), j)) =

t = 1 j e S

T

= XX (fjsm (xj(t), t) + /sr (uj(t), t) +

t = 1 j e S

+ /sh (xj(t), t) + /sp (uj(t), zj(t), t)) ^ min. (6)

Чтобы не усложнять запись, будем полагать, что все слагаемые содержат множитель дисконтирования.

2. АНАЛИЗ ЗАДАЧИ КАК ЗАДАЧИ ДИНАМИЧЕСКОГО ПРОГРАММИРОВАНИЯ

Сформулированная задача представляет собой задачу динамического программирования, в которой T — число шагов (этапов), u — управляющее

j e S, t e {1, ..., T},

воздействие, х и г — фазовые переменные, а множество допустимых процессов управления

С = {(«, х, г) : « : {1, ..., Т} ^ {0, 1}а, х, г : {0, ..., Т} ^ (1)—(5)}

(здесь и далее для упрощения выражений вместо громоздких формул иногда будем писать их порядковые номера).

Несмотря на то, что формально задача относится к хорошо известному классу задач, воспользоваться напрямую для ее решения общепринятым методом — принципом оптимальности Беллмана — не представляется возможным ввиду так называемого «проклятия размерности» [8].

Отметим несколько особенностей числа состояний системы, касающихся его определения:

— оно зависит от числа активов а; с помощью принципа оптимальности за разумное время можно найти решение только при а не больше трех— четырех;

— оно ограничено из-за наличия ограничений (3);

— его можно резко сократить, если для некоторого подмножества моментов времени В с {1, ..., Т} дополнительно ввести ограничения вида «(0 = = со1(0, ..., 0), t е В.

Для иллюстрации этих особенностей рассмотрим два примера. В первом из них (рис. 2) представлена динамика числа состояний для одного сегмента из 1—3 активов при следующих условиях: все активы были обновлены в t = 0, максимальный срок службы всех активов 50 лет, пауза между обновлениями 5 лет.

Видно, что число состояний системы для трех активов существенно больше, чем для двух или

Рис. 2. Пример 1: динамика числа состояний:

" — 3 актива, — 2 актива, — 1 актив

х

Рис. 3. Пример 2: динамика числа состояний

падается» на множество небольших подзадач оптимизации работ для каждого сегмента:

min{(6)|(u, x, z) е G } = X min\ X j (uj (t),

U j e s V USJ 11 = 1

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

(t), (t), t)|( u, xSj (t), ) е Gpj

где Gpj = {(u, x, z) : u : {1, ..., T} ^ {0,1} j, x, z :

a-

{0, ..., T} ^ N j, (7)—(10)},

u(t) = col(0, ..., 0), Vt : pt = 0, (7)

xk(t) = 9(uk(t), xk(t - 1)), zk(t) = o>(xk(t - 1)),

k е {1, ..., a,}, t е {1, ..., T}, (8)

xk(0) = x k + a. -1, k е {1, ..., a,}, (9)

одного. Начиная с некоторого момента, число состояний стабилизируется. В случае трех активов максимальное число состояний равно 68 660. Если запретить обновления в некоторые годы В = {1, ..., Т }\{8, 16, 24, 32, 40, 48}, то максимальное число состояний системы из трех активов будет значительно меньше — 216 (рис. 3). Данное свойство будет использовано при решении задачи методом ветвей и границ.

3. ПРИМЕНЕНИЕ МЕТОДА ВЕТВЕЙ И ГРАНИЦ

3.1. Вектор проектов

Под проектами допустимого управления u будем понимать булев вектор p = col(max u(1), ..., max u(T)); т. е. проект применительно к отдельному активу означает лишь возможность или разрешение провести обновление, а не сам факт обновления.

Процессом управления, удовлетворяющим вектору проектов p = col(p1, p2, ..., pt), t < T, будем называть процесс (u, x, z), принадлежащий множеству

Gp = {(u, x, z) е G : u(t) = col(0, ..., 0), Vt : pt = 0}.

Очевидно,

min{(6)|(u, x, z) е G} =

U

= min{min{(6)|(u, x, z) е Gp}}.

p U p

Заметим, что для фиксированного вектора проектов p, элементы которого являются проектами некоторого допустимого управления u, задача «рас-

xk(t) е X/

+ aj -1

k е {1, ..., a,}, t е {1, ..., T}.(10)

Каждая такая подзадача достаточно тривиально решается методом динамического программирования, о чем говорилось выше.

Идея ввода дополнительных ограничений с помощью вектора (векторов) проектов может оказаться конструктивной, если существует априорная информация о том, какие моменты времени больше всего подходят для реализации проектов. Если же такой информации нет, то попытки экстенсивным способом перебрать все возможные векторы проектов, скорее всего, окажутся неудачны, так как их число может оказаться очень велико. Например, при Т = 50, р = 5 число векторов может достигать 153 315.

3.2. Процедуры ветвления

Осуществить поиск наилучшего вектора проектов можно с помощью метода ветвей и границ. Рассмотрим два варианта процедуры ветвления. Условно говоря, первый вариант отвечает на вопрос «Что должно произойти в следующий момент времени?». Процедура ветвления множества допустимых процессов управления схематически представлена на рис. 4.

Второй вариант отвечает на вопрос «Когда необходимо организовать следующий проект?». Для того чтобы сузить перечень моментов времени, в которые может быть организован проект, но при этом не исключить оптимального решения, можно предложить процедуру ветвления, показанную на рис. 5. Она должна при необходимости обеспечивать перебор всех векторов проектов. Однако данной процедурой исключаются из рассмотрения все векторы, в которых число подряд идущих

Рис. 4. Процедура ветвления (первый вариант)

Рис. 5. Процедура ветвления (второй вариант)

нулевых элементов превосходит 2р. Это допустимо ввиду следующего свойства задачи (1)—(6): если р0, р1 е {0, 1}Т : р0 ^ Р1, ^ е {1, ..., Т}, то шт{(6)|(«,

и

х, г) е Ср} > шт{(6)|(«, х, г) е С.1}. Это справед-

и

ливо, поскольку Ср с Ср1.

3.3. Оценивание ветви

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

ние на этой области [9]. В этом случае полученное решение будет гарантированно «не хуже», чем решение исходной задачи.

Рассмотрим произвольную ветвь Ь. Будем искать оценку в виде

шт{(6)|(и, х, г) е СЬ} >

> X minJ X j (uSj (t), xSj (t), zSj (t), t) +

j e S uSj 11 = 1

+ Mxj (db), db)|( uSj, xSj, zSj) e },

где db — число элементов в векторе b и

S; Я;

Fbj = {(u, x, z) : u : {1, ..., db} ^ {0, 1} J,

a■

x, z : {0, ..., d,} ^ N J, (11)—(14)},

u(t) = col(0, ..., 0), t e {1, ..., db} : bt = 0, (11)

xk(t) = 9(uk(t), xk(t - 1)), zk(t) = ra(xk(t - 1)),

k e {1, ..., a.}, t e {1, ..., db}, (12)

xk(0) = xk + a.-1, k e {1, ..., flj}, (13)

~J J

xk(t) e Xk + a.-1, k e {1, ..., Oj}, t e {1, ..., db}, (14)

а Mj(xT, т) — любая функция, удовлетворяющая условию:

T

I S S; S;

Mj.(xT, т) < mini X j(uJ (t), xJ (t),

uJ ^ t = T + 1

zSj (t), t)|( uSj, xSj, zSj) e GSJ }, (15)

где G j = {(u, x, z) : u : {т + 1, ..., 7] ^ {0,1}

X , T

a

x, z : {т, ..., 7} ^ N J, (16)—(19)},

x(c) = xT, (16)

xk(t) = 9(uk(t), xk(t - 1)), zk(t) = ra(xk(t - 1)),

k e {1, ..., Oj}, t e {т + 1, ..., T}, (17)

||u(t)||-||u(t - y)|| = 0, t e {т + 1, ..., T},

¥ e {1, ..., p}, t - у > т, (18)

xk(t) e Xk + a; -1, k e {1, ..., aj}, t e {т + 1, ..., T}.

(19)

Таким образом, нахождение оценки сводится к решению 5 задач оптимизации работ на сегменте на периоде t е {1, ..., ¿у с терминальным членом. Решение данных задач упрощается благодаря на-

d

личию ограничений (11). Эффективность оценки будет определяться сложностью вычисления функций М'(хт, т), а также грубостью приближения (15). Точный минимум в формуле (15) также является оценкой, однако для его определения могут потребоваться ресурсоемкие вычисления (например, как случай трех активов, см. рис. 2).

Для сокращения объема вычислений целесообразно найти функции /•*" (и, х, г, г) : {0, 1}- х

х Ы? х Ы? х {1, ..., Т} ^ Ы, сепарабельные по элементам векторов и, х и г, т. е. такие, чтобы для любых и, х, г, г выполнялось

/•" (и, х, г, г) > /•"" (и, х, г, г) =

= X / 'КО, х*0), гл0), г), у е к = 1

где / к(и, х, г, г) : {0, 1} х Ы х Ы х {1, ..., Т} ^ Ы,

у е к е {1, ..., а.}.

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

Функции /"т (х, г) и (и, г, г) сепарабельны. В качестве функции всюду не превосходящей (и, г) и сепарабельной по элементам вектора управления и можно использовать следующую функцию

/•""■ (и, г) = X и*( /•"■ (е'(к), г) к = 1

тах

а-

V е {0, 1} 3\со1(0,..., 0)

• ^ X

X ^т• И«), г)

т = 1

у е

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

Утверждение 1. Для любого п е Ы справедливо неравенство

Р(А1 или ... или Ап) > X

г = 1

1 - (1 - Р(А,))п

(20)

где А, ..., А — любые независимые события.

Р ' п

Доказательство. Применим метод математической индукции. Для и = 1: Р(А1) = Р(А1). Предполагаем, что для некоторого и = к выполняется

к 1 _ Р^А" ) Р((А1 или ... или Ак)^ > X -к~~—^

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

Событие В

г = 1

I = 1

р" (А,)

к

> Р(В).

Тогда для и = к + 1, с одной стороны, можно записать Р(А1 или ... или Ак или Ак + 1) =

= 1 - Р(В )Р(А" +1) > 1 - Р(В ). С другой стороны, выполняется

11 - Р +1(А,) _ * Р +1(А ) _ Р +1 (А^)

X

1 - X

к + 1 ^ к + 1 к + 1 г = 1 г = 1

< 1 - V Р"(А) - Р + 1( Ак+1) <

< Х к к + 1 < г = 1

< 1 - Р( В )

Р+1 (А"+ 1 ) < 1

к + 1

Р(В).

Откуда следует справедливость неравенства (20). Утверждение 1 доказано. ♦

Заметим, если вероятности событий А1, ..., Ап равны, то неравенство (20) обращается в тождество. Таким образом, в качестве функции, сепарабельной по х и всюду не превосходящей (х, г), можно использовать функцию

(х, г) = X (1 -(1 -А- 1(х*о),

• к = 1 у е

3.4. Программные способы ускорения вычислений

Рассмотрим некоторые особенности алгоритма, которые могут позволить проводить компьютерные вычисления быстрее:

— организация параллельных вычислений;

— кэширование значений функций М/.(хт, т);

— повторное использование решений.

Очевидно, что при вычислении ветви можно

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

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

Т

можных параметров х и т.

а

<

а

а

а

V

т

1

т

п

п

Параметры и время расчета

Линия Время, с Число неизвестных Пауза

71 258 331 600 5

16 134 249 700 5

98 98 150 250 5

21 66 263 200 8

15a 43 102 550 5

23b 36 337 800 10

32 35 191 050 10

83 32 146 350 10

55 32 132 400 10

85 30 148 650 10

При ветвлении узла дерева решений можно повторно использовать результаты, полученные на предыдущем шаге. Необходимо пересчитывать не все этапы динамического программирования, а только те, которые уточняются в новой ветви. Данным приемом целесообразно воспользоваться при поиске решения с помощью «жадного» алгоритма. Иначе для железнодорожных линий с большим числом сегментов хранение всех матриц стоимостей перехода может требовать большого объема оперативной памяти.

4. ВЫЧИСЛИТЕЛЬНЫЙ ЭКСПЕРИМЕНТ

Данная модель и метод оптимизации были применены в компании «Banedanmark» (Дания). На реальных данных, описывающих железнодорожную сеть этой страны, были определены оптимальные проекты на прогнозном периоде, равном 50-ти годам.

Общее число неизвестных равно 5 249 950. Чистое время расчета задач оптимизации для 49 линий составило 20 мин 23 с. Расчет производился в четыре потока на компьютере с параметрами: Intel®

Core i5 CPU K 655 @ 3,20 ГГц 3,19 ГГц; 16 Гб RAM; x64. Приложение написано на языке C# под .NET Framework 4 и интегрировано в АК «Прогноз-5» [10]. В таблице показаны основные параметры и время десяти наиболее продолжительных расчетов (в таблице приведены официальные номера линий Датской железной дороги). Видно, что пауза между обновлениями оказывает большее влияние, чем число неизвестных.

ЗАКЛЮЧЕНИЕ

Сформулирована задача оптимального планирования работ по обновлению инфраструктуры железнодорожной линии. Данная задача может содержать сотни тысяч неизвестных, что осложняет

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

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

ЛИТЕРАТУРА

1. Петров Ю.Д., Купоров А.И., Шкурина Л.В. Планирование в структурных подразделениях железнодорожного транспорта. — М.: Высшее образование, 2008. — 340 с.

2. Поносов Д.А., Чадов А.Л. К вопросу о вычислительной сложности нахождения решения одного класса задач целочисленного программирования // Тр. 2-й междунар. конф. «Трехмерная визуализация научной, технической и социальной реальности. Технологии высокополигонального моделирования» / УдГУ. — Ижевск, 2010. — Т. 1. — С. 125—127.

3. Муртаф Б. Современное линейное программирование. — М.: Мир, 1984. — 224 с.

4. Carretero J., Gonzalez J., Perez J., Romera R. Optimal railway infrastructure maintenance and repair policies to manage risk under uncertainly with adaptive control / Universidad Carlos III de Madrid, 2006. — 15 p.

5. Цыгичко В.Н. Руководителю — о принятии решений. — 2-е изд. — М.: Инфра-М, 1996. — 272 с.

6. Riessberger K. Key elements in the maintenance of high speed track // Railway Gazette International. — 1989. — Vol. 145, N 3. — P. 147—149.

7. Mlinaric T.J, Pirnar M. Optimizing track infrastructure availability // Promet — Traffic & Transportation. — 2009. — Vol. 21, N 2. — P. 113—121.

8. Беллман Р. Динамическое программирование. — М.: Иностранная литература, 1960. — 400 с.

9. Зайченко Ю.П. Исследование операций. — Киев: Вища школа, 1975.

10. Свидетельство Российского агентства по патентам и товарным знакам № 2005610980 от 22.04.2005 об официальной регистрации программы для ЭВМ / Д.Л. Андрианов, Г.К. Полушкина и др.

Статья представлена к публикации членом редколлегии В.Н. Бурковым.

Юрий Олегович Петровец — аспирант, Пермский государственный национальный исследовательский университет; вед. специалист, ЗАО «Прогноз», г. Пермь,

® (342) 240-36-63, доб. 11-58, И petrovets@prognoz.ru,

Дмитрий Леонидович Андрианов — д-р физ.-мат. наук, зав. кафедрой, профессор, Пермский государственный национальный исследовательский университет; ген. директор, ЗАО «Прогноз», г. Пермь, ® (342) 237-17-53, И andrianov@econ.psu.ru.

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