fix introduction

This commit is contained in:
2026-05-06 10:09:45 +03:00
parent 80e86394d1
commit 5daba127fe
36 changed files with 3088 additions and 2 deletions
+57
View File
@@ -0,0 +1,57 @@
\anonsection{Введение}
\label{sec:0_vvedenie} \index{0_vvedenie}
\hspace{0.47cm}
В вычислительных системах с ограниченным количеством некоторого
ресурса (например, оперативной памяти) при построении расписания
вычислений важным критерием является пиковое (максимальное по всему
расписанию) использование ресурса. В данной работе рассматривается
задача построения однопроцессорного расписания с минимизацией
этого критерия. Результат решения задачи может использоваться для
оценки объема оперативной памяти, необходимого в проектируемой системе
для выполнения заданного набора работ.
Входными данными задачи является ориентированный ациклический граф
без петель и кратных ребер, в котором вершины задают работы, а ребра –
зависимости между ними. Таким образом, входной граф задает условия
частичного порядка на множестве работ. Каждой вершине в графе
сопоставлено неотрицательное число – количество занимаемого
соответствующей работой ресурса. При этом каждая работа занимает ресурс
в момент начала своего выполнения и освобождает его в момент, когда
последний из ее непосредственных потомков завершит выполнение.
Для входного графа необходимо построить расписание, минимизирующее пиковое использование ресурса в системе. Поскольку директивные сроки выполнения работ не заданы, и оптимизируемым критерием является пиковое использование ресурса, время выполнения работ не учитывается. В связи с этим расписание можно рассматривать как набор шагов, на каждом из которых выполняется одна работа.
На рис. \ref{fig:example} приведен граф и два возможных расписания для него. На вершинах графа указаны номера работ и количество занимаемого ресурса. В расписании под горизонтальной осью подписаны работы, которые выполняются на соответствующих шагах расписания, а вертикальной оси соответствует количество занимаемого ресурса в системе. Красные стрелки вверх в расписании обозначают занятие ресурса, а зеленые стрелки вниз -- освобождение.
Для нахождения значения целевой функции на каждом шаге вычисляется общее использование ресурса в системе, затем выбирается максимальное по всему расписанию -- пиковое значение. В расписании фигурными скобками обозначены и пронумерованы в порядке следования моменты подсчета используемого ресурса. Видно, что пиковое значение достигается после занятия ресурса работой, но до освобождения ей ресурса из-под работ предков.
На примере (рис. \ref{fig:example}), видно, что для одного и того же графа работ могут быть построены разные расписания. Так, в расписании 1 целевая функция равна 9 и достигается в момент выполнения работы $V_2$. В расписании 2 пиковое использование ресурса достигает 11 во время выполнения работ $V_3$ и $V_4$. Таким образом, в расписании 1 целевая функция меньше, чем в расписании 2.
\begin{figure}[h]
\centering
\includegraphics[width=\textwidth]{pictures/example.png}
\caption{Граф работ и возможные расписания для него}
\label{fig:example}
\end{figure}
В работе \cite{SHUTKOV} для данной задачи предложен детерминированный алгоритм,
строящий близкие к оптимальным расписания в случае, если входной граф
является последовательно-параллельным. По мере добавления в граф ребер,
нарушающих его последовательно-параллельную структуру, получаемые
алгоритмом расписания по качеству (т.е. значению целевой функции)
приближаются к результатам жадного алгоритма, что указывает на рост
отклонения от оптимума.
В работе \cite{BALASHOV} для данной задачи предложен муравьиный алгоритм,
превосходящий по качеству решения жадный алгоритм, однако в силу
рандомизированности не гарантирующий качество решения даже на уровне
верхней оценки отклонения от оптимума.
Актуальна разработка метода построения оптимального расписания, который
не был бы ограничен конкретным классом структуры входного графа. В данной работе
предложена схема сведения
рассматриваемой задачи к задаче целочисленного линейного
программирования (ЦЛП) \cite{SHEV}, реализована с
использованием свободно доступного решателя ЦЛП и исследована по
критерию масштабируемости.