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

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

CC BY
1470
258
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МЕТОД ВЕТВЕЙ И ГРАНИЦ / ЭВРИСТИЧЕСКАЯ ОЦЕНКА / КОНВЕЙЕРНОЙ ЗАДАЧА / ТЕОРИЯ РАСПИСАНИЙ

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

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

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

THE METHOD OF PATHS AND BOUNDARIES WITH HEURISTIC EVALUATION FOR A CONVEYOR PROBLEM OF SCHEDULING THEORY

A conveyor problem to construct an optimal operating speed schedule has been considered. Heuristic and strict algorithms are given as well as a scheme of their sequential implementation.

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

Математическое моделирование. Оптимальное управление Вестник Нижегородского университета им. Н.И. Лoбачевcкoгo, 2008, № 3, с. 147-153

УДК 004.023

МЕТОД ВЕТВЕЙ И ГРАНИЦ С ЭВРИСТИЧЕСКИМИ ОЦЕНКАМИ ДЛЯ КОНВЕЙЕРНОЙ ЗАДАЧИ ТЕОРИИ РАСПИСАНИЙ

© 2008 г. М.Х. Прилуцкий, В.С. Власов

Нижегородский госуниверситет им. Н.И. Лобачевского

vlasov_nn@mail.ru

Поступила в редакцию 30.04.2008

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

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

Введение

На содержательном уровне общая задача теории расписаний может быть описана следующим образом [1]. На нескольких станках должны пройти обработку несколько деталей. Для каждой детали задан порядок ее обработки на станках. Обработку детали на станке обычно называют операцией. Каждый станок одновременно не может выполнять более одной операции, а операции обрабатываются на станках без перерывов. Задана матрица времен выполнения операций на станках. Требуется определить такой порядок выполнения операций на станках, который минимизирует время завершения изготовления всех деталей.

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

Особое место среди задач теории расписаний принадлежит так называемым перестановочным (конвейерным) расписаниям, когда порядок выполнения операций для каждой детали одинаков. Не меняя общности в конвейерных

задачах можно считать, что для каждой детали нумерация станков (обычно в естественном порядке) соответствует порядку выполнения операций. Кроме того, предполагается, что на каждом станке порядок выполнения операций одинаков для каждой детали. Примером такой системы может служить конвейер (сборочная линия). Вообще, в качестве конвейерной системы может рассматриваться любая совокупность станков, которые выполняют все операции в одном и том же порядке. Для такой системы вовсе не обязательно, чтобы каждая деталь состояла из операций, выполняемых на каждом станке, или чтобы все операции начинались и заканчивались определенными станками. Существенно лишь, что все перемещения операции, связанные с окончанием ее выполнения на одном станке и началом выполнения на другом, должны происходить в одном направлении. В конвейерных задачах теории расписаний допустимое решение определяется перестановкой из п чисел (по числу деталей), а оптимальное решение содержится среди п! допустимых решений. Как общая задача теории расписаний, так и конвейерная задача относятся к классу КР-трудных, что обуславливает необходимость построения приближенных алгоритмов их решения.

Математическая модель

Пусть і - номер станка, у - номер детали, Т = \ \tyl \ — тхп действительная матрица, элемент ґу > 0 которой определяет время выполнения детали у на станке і, і = 1, т , у = 1, п .

Требуется найти такую матрицу X = \\Ху\\ размерности тхп, элемент которой Ху - определяет момент начала выполнения детали у на

станке г, г = 1, т , у = 1, п , для которой выполняются ограничения:

Ху > Хг-1 у + (г-1 у , г = 2 т , У = 1П , (1)

(обработка детали на станке может начаться не раньше, чем эта деталь завершит обработку на предыдущем станке),

Х у > Хгк + ( гк , или Хгк > Х у + ( у , г = 1, т ,

у = 1, п , к = 1, п , (2)

(на станке одновременно не может обрабатываться более одной детали),

если Ху > Х гк , то Ху > Хк , г= 1, т ,

5 = 1, т, у = 1,п , (3)

(порядок обработки деталей одинаков на всех станках - перестановочность расписания),

Ху > 0 , г = 1, т , у = 1, п , (4)

(естественные условия на переменные), и достигает минимального значения критерий

^(X) = тах( Хщ + (щ) (5)

у=1,и

(минимизация времени завершения обработки всех деталей).

Исследование математической модели

Поставленная задача содержит логические условия (2)-(3) и нелинейный критерий (5). Путем введения дополнительных переменных (в том числе булевых) и ограничений задачу (1)-(5) можно свести к задаче частично-целочисленного линейного программирования.

Введем переменные: у к = 1, если на г-ом

станке деталь у обрабатывается раньше детали к,

и у,к = 0 - в противном случае, г = 1,т,

у = 1,п, к = 1,п. Пусть Q - достаточно большое число. Тогда ограничения (2) эквивалентны ограничениям:

(Я + (гк) У ук + Ху - Хгк > (гк,

Ш + (гу)(1-У ук) + Хгк - Ху > (у , (6)

г = 1, т, у = 1,п, к = 1,п. Действительно пусть Ху = Хгк , тогда если у ук = 1, то из ограничений (6) получаем:

Q + ( гк + Ху - Хгк = Q + ( гк > ( гк, чТО всегда

верно; Х к — Ху = 0 > (у , а поскольку (у > 0,

то (у= 0. Это означает, что деталь с номером у не проходит обработку на станке с номером г,

г = 1, т, у = 1,п, к = 1,п .

Если у = 1, то ґік = 0, т.е. деталь с номером у не обрабатывается на станке с номером і,

і = 1, т, у = 1,п, к = 1,п .

Пусть Ху > Хік, т.е. деталь с номером у выполняется после детали с номером к. Тогда у = 0 и из условий (6) получаем Ху — Хік > ґік,

т.е. условия (2) выполняются, і = 1, т, у = 1,п,

к = 1, п .

Пусть Ху < Хік, т.е. деталь с номером к выполняется после детали с номером у. Тогда у ук = 1 и из условий (6) получаем Ху — Хік > ґік,

т.е. условия (2) выполняются, і = 1, т, у = 1, п, к = 1, п .

Логические условия (3) эквивалентны ограничениям

У іук У у ,

і = 1, т, s = 1, т, у = 1, п, к = 1, п . (7)

Условия (7), как и условия (3), означают, что если на одном станке некоторая деталь обрабатывается раньше другой детали, то этот же порядок обработки будет и для любого другого станка.

Рассмотрим дополнительные ограничения

х„,- + їт- < г, у = 1, п. (8)

ту ту 5 ^ 5 V '

Конвейерная задача теории расписаний (1)-(5) эквивалентна задаче (1), (6)-(8) с естественными условиями на переменные

Ху > 0, У ук

і = 1, т, у = 1, п, к = 1, п, (9)

и критерием

^(X,7, г)=г ^тіп . (10)

Полученная задача (1), (6)-(10) является задачей частично-целочисленного линейного программирования и при небольших значениях параметров может быть решена известными методами целочисленного линейного программирования.

Покажем, что решение задачи (1), (6)—(10) определяет перестановку, которая соответствует оптимальному по быстродействию расписанию обработки деталей на станках.

Пусть X0= Х°/ - матрица времен начала

II ■)\\т^п

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

р0 = (р1,р2,...,ри) - достаточно воспользо-

ваться соотношениями: pk = argmin xir

jeJk

где

^к = {1, 2, И}\{р1, р2, рк_1}, к = 1,п .

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

Метод ветвей и границ решения конвейерной задачи теории расписаний

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

Процедура оценок включает в себя определение верхней (для рассматриваемой задачи достижимой) оценки V и нижней оценки Н. Поскольку любая перестановка из п чисел определяет допустимое решение задачи, то в качестве верхней (достижимой) оценки можно рассматривать значение критерия (5), определяемое некоторой перестановкой.

Для определения нижней оценки на первом шаге используем формулу

т-1

Н = х mln tj +х tm, .

j=1,n

j=1

Для определения нижней оценки с учетом того, что работа к включена в строящееся расписание первой:

т п

Н =х ^к+х т, ] ^к.

1=1 ]=1

Для определения нижней оценки с учетом того, что в строящееся расписание включены работы к и I:

т п

на =хГк + тг(к, I)+т+хт,

2=1

j=1

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

Dif (k, l) =

0, если i = 1;

max{0,( xi_1k + t,-U + t,-u +

+ Щ'- (kjl)) -(xik + t1k)}j иначе

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

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

Процедура ветвления рассматривает все допустимые варианты построения перестановок.

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

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

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

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

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

Получение совокупности верхних оценок

Стохастические алгоритмы А1. Алгоритм Simulated Annealing. Алгоритм, использующий Simulated Annealing метод для нахождения псевдооптимальной перестановки [5]. В этом подходе используется аналогия между процессом нахождения псевдооптимального решения и моделью охлаждения термодинамической системы. Проводится аналогия между:

• энергией термодинамической системы (E) и обобщенным критерием оптимальности задачи (F ), полагая, что их значения совпадают,

2=1

• перестановкой (р), задающей порядок выполнения работ, и состоянием термодинамической системы ( Ж ).

Вводятся случайные операторы перехода из одного состояния системы в другое или, другими словами от одной перестановки работ к другой. Задается эмпирический параметр Т - температура термодинамической системы. Из известной формулы распределения вероятностей энергий для термодинамической системы Больцмана следует, что вероятность перехода системы из состояния с энергией Е1 в состояние с энергией Е2 при температуре Т,

-&Е/

Р(АЕ) = е /кТ , где АЕ = Е2 - Е1 и к - постоянная Больцмана (коэффициент пропорциональности, задающий отношение между энергией и температурой). Оптимизационный алгоритм работает следующим образом: для некоторого начального параметра Т0 в состоянии Ж0

находится Е0 - значение энергии термодинамической системы. Применяется случайный оператор перехода из состояния Ж0 в Ж1. Находится значение Е1 для этого состояния. Если АЕ > 0 или Р(АЕ) < Ъ, где Ъ - случайное число, равномерно распределенное в диапазоне [0, 1], то Ж1 принимается за текущее состояние системы и шаг работы алгоритма повторяется. Иначе шаг повторяется при том же самом состоянии системы Ж0. После кп (п — число деталей, к - управляемый параметр) повторений этого шага предполагается, что происходит «охлаждение термодинамической системы». Условием остановки алгоритма является отсутствие улучшений значения критерия задачи.

А2. Генетический алгоритм. В основу эволюционно-генетических алгоритмов заложена идея наследственности в биологических популяциях [6]. Структура данных алгоритма состоит из набора хромосом. Алгоритм представляет собой итерационный процесс, который продолжается до тех пор, пока не будет смоделировано заданное число поколений или выполнен критерий останова.

Конвейерное расписание в рассмотренной постановке однозначно определяется перестановкой из п элементов, т.е. является перестановочным. Перестановочное представление формально определяется генетическим представлением, которое задает хромосому в виде упорядоченной последовательности из п генов

(n-мерного вектора). Ген, соответствующий j-ой компоненте, определяет номер детали, которая

будет выполняться j-ой по порядку, j = 1, n . Работа генетического алгоритма основана на использовании ряда операторов кроссовера и мутации, которые, используя допустимые генотипы «родительских» особей, сохраняют допустимость генотипов потомков.

Схема работы кроссовера порядка заключается в случайном выборе двух родительских особей s1 и s2. Случайным образом выбирается точка кроссовера, разрезающая генотип родителей на 2 части. Непрерывная последовательность деталей из первой строки копируется в генотип потомка. Формируется блок заполнения из деталей строки s2, которых нет в генотипе потомка. Элементы блока заполнения копируются в генотип потомка, основываясь на относительном порядке их следования в s2.

Схема работы кроссовера позиции заключается в случайном выборе двух родительских особей s1 и s2. Формируется n-битовая строка, в которой случайным образом размещается m единиц (1 < m < n) и n нулей. Элементы родительской особи S], находящиеся в позициях, которым n-битовой строке соответствует единица, копируются в генотип потомка. Формируется блок заполнения из деталей строки s2, которых нет в генотипе потомка. Элементы блока заполнения копируются в генотип потомка, основываясь на относительном порядке их следования в s2.

Схема работы классического оператора мутации заключается в случайном выборе родительской особи sp, элементы которой копируется в генотип потомка. Случайным образом выбираются 2 точки мутации a1 и a2. Элемент^1 потомка, находящиеся на этих позициях меняются местами.

Схема работы циклического оператора мутации заключается в случайном выборе родительской особи sp, элементы которой копируется в генотип потомка. Случайным образом выбираются 2 точки мутации a1 и a2. Элементы потомка, находящиеся между этими позициями отображаются в обратном порядке (т.е. элемент, стоявший первым в этом блоке становится последним, второй - предпоследним и т.д.)

Аз. Алгоритм ant colonies. В основе алгоритма ant colonies используется аналогия между решением оптимизационной задачи и моделированием поведения колонии «муравьев» [7]. Колония муравьев рассматривается как многоагентная система, в которой каждый агент (муравей) функционирует по простым правилам, и при этом поведение всей системы (колонии му-

равьев) приводит к приемлемым результатам. Это качество многоагентной системы следует из так называемой «роевой» логики. При своем движении агент помечает свой путь, и чем больше агентов прошло по данному маршруту, тем больше значения этих пометок и тем больше агентов этот маршрут привлекает. В конвейерной задаче построения оптимального по быстродействию расписания «длина» пути определяется значением критерия, соответствующего расписанию, построенного агентом - время завершения выполнения всех работ, включенных в строящееся расписание. В основе предлагаемого алгоритма лежит квадратная матрица Р(0 = \ри(() , определяющая состояние

II ^ \\пхп

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

расписанию. Элемент матрицы р^ ) опреде-

ляет величину пометок к такту ?, которая соответствует тому, что работа с номером 1 будет входить в искомую перестановку ]-ой по порядку. Система функционирует конечное число Т0 тактов. Найденная перестановка и определяет искомое конвейерное расписание.

Эвристические детерминированные алгоритмы

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

о назначениях [8]. Пусть У = | |уг]|| - квадратная матрица порядка п, где у^ = 1, если деталь г выполняется ]-ой по порядку и у] = 0 - в противном случае, г = 1, п , ] = 1,п . Рассмотрим следующую задачу о назначениях:

Q(Y0) = max^Z с,У,

i =1 j=1

X yij = 1,j =1,n;

Ё yij = 1,i = 1,n;yt] e {0,1}, i = 1,n,j = 1,

j=1

(11)

Пусть P - множество различных решений системы ограничений (1)-(4), а B - множество различных n-мерных бистохастических булевых матриц. Рассмотрим соответствие Г = (Q, P, B), где Q = P? B. Соответствие Г является функциональным, инъективным, всюду определенным и сюръективным, т.е. взаимнооднозначным (биективным). Отсюда, исследование задачи построения конвейерных расписаний можно проводить посредством решения задач о назначениях, для чего необходимо связать значения критерия задачи (11), зависящие от коэффициентов функционала, со значениями критерия задачи (1)-(5). Это можно сделать, например, используя в качестве матрицы, определяющей коэффициенты критерия задачи (11), найденную в результате работы алгоритма ant colonies

матрицу P(t) = p..(t) . Кроме того, по-

II ] II nxn

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

А5. Фронтальный алгоритм. Предлагаемый алгоритм основан на идеологии «жадных алгоритмов» - аналоге метода градиента для непрерывных задач. Для каждой детали находится

m

величина хj = X tij - суммарная трудоемкость

i=1

детали, j = 1, n . Строится перестановка из n натуральных чисел (номера деталей) р , в которой номера деталей соответствуют невозрастанию (неубыванию) величин х j, j = 1, n . Это

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

А6. Использование алгоритма Джонсона для задачи с 2 станками. Разобьем множество всех деталей на классы джонсоновских задач для двух станков. Общее число всевозможных

вариантов будет С2п . Тогда находя для каждого

варианта точное решение алгоритмом Джонсона, фиксируем полученную перестановку и находим для нее значение критерия (5). Перестановка, соответствующая минимальному значе-

n

нию критерия (5) и определит допустимое решение исходной задачи.

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

Метод комбинирования алгоритмов

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

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

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

Л\ — —

Аз — Л4 —

Лз — —

Лб —— ——

Athlon(tm) 64 X2 Dual Core processor 6000 + + 3.01 ГГц, 2 Гб оперативной памяти.

После каждого эксперимента находилось значение лучшей верхней оценки F («рекорд»), максимальное значение нижней оценки H и время решения задачи t. Эксперимент проводился для 6 серий по 5 задач в каждой для 10, 20, 50, 100, 500 и 1000 работ. Результаты эксперимента приведены в табл. 1, в которой в графе t значение 10:01 означает, что после 10 минут работа программы прерывалась, и определялось значение «рекорда» F.

Таблица 1

Вычислительный эксперимент

Для решения рассмотренного класса задач построена и реализована диалоговая программная система (среда Microsoft Windows XP, среда программирования Visual Studio.Net 2005, язык программирования C#). В программном комплексе реализованы описанные алгоритмы. Программное средство обладает интуитивнопонятным интерфейсом, в ходе своей работы выводит пользователю всю необходимую информацию и время работы используемого алгоритма. Для проведения вычислительного эксперимента был программно реализован генератор задач, реализующий исходные данные для конвейерных задач с заданным числом станков и деталей и случайными значениями времен выполнения операций в интервале от 1 до 100.

Эксперименты проводились на машине со следующей конфигурацией: процессор AMD

Число работ Число станков F H t

1G 5 79G 79G GG:5l

1G 5 79G 79G GG:46

1G 5 779 779 GG:5l

1G 5 б95 б95 GG:52

1G 5 789 789 GG:52

2G 5 12G5 12G5 1G:G1

2G 5 1227 121б 1G:G1

2G 5 11G7 11G7 1G:G1

2G 5 1157 1157 1G:G1

2G 5 1337 1337 1G:G1

5G 5 31G7 31G7 1G:G1

5G 5 2554 2249 1G:G1

5G 5 275G 27GG 1G:G1

5G 5 2775 2599 1G:G1

5G 5 2721 2547 1G:G1

1GG 5 5271 459G 1G:G1

1GG 5 5773 4929 1G:G1

1GG 5 5232 4898 1G:G1

1GG 5 552б 4б82 1G:G1

1GG 5 5179 5178 1G:G1

5GG 1G 27G32 25551 1G:G1

5GG 1G 27188 25253 1G:G1

5GG 1G 27312 2538G 1G:G1

5GG 1G 27224 25945 1G:G1

5GG 1G 27334 25949 1G:G1

1GGG 1G 53193 51825 1G:G1

1GGG 1G 5291б 5G461 1G:G1

1GGG 1G 53G96 49841 1G:G1

1GGG 1G 53G41 49515 1G:G1

1GGG 1G 52984 49979 1G:G1

В табл. 2 приведены б cp - средние относи-

тельные отклонения значении критерия задачи на найденном решении от значении нижних (недостижимых) оценок F — Н/И .

Таблица 2

Число работ Число станков 6 cp

IG 5 G

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

2G 5 =0,001

5G 5 =0,058

IGG 5 =0,113

5GG IG =0,0б3

IGGG IG =0,054

Заключение

Учитывая, что при проведении вычислительного эксперимента отклонения значений критерия на найденных решениях определялись не относительно значений критерия на оптимальном решении задачи, а относительно значений нижних (недостижимых) оценок, и при этом отклонения значений критерия относительно значений нижних оценок составляет 5-6% (лишь для 100 работ 11.3%), можно сделать вывод о приемлемости предложенного подхода для решения конвейерных задач теории расписаний.

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

1. Танаев В.С., Шкурба В.В. Введение в теорию расписаний. М.: Наука, 1975. 25б с.

2. Прилуцкий М.Х., Батищев Д.И., Гудман Э.Д., Норенков И.П. Метод декомпозиций для решения комбинаторных задач упорядочения и распределения ресурсов // Информационные технологии. 1997. № 1. С. 29-33.

3. Прилуцкий М.Х., Власов С.Е. Многостадийные задачи теории расписаний с альтернативными вариантами выполнения работ // Системы управления и информационные технологии. 2005. № 2. С. 44-48.

4. Прилуцкий М.Х. Многокритериальные многоиндексные задачи объёмно-календарного планирования // Известия АН. Теория и системы управления. 2007. № 1. С. 78-82.

5. Kirkpatrick S., Celatt C.D., Vecchi M.P. Optimization by Simulated Annealing // Science. 1983. V. 220. No. 4598. Р. 671-680.

6. Goldberg D.E. Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley, Reading, MA. 1989. 412 p.

7. Dorigo M., Maniezzo V., Colorni A. The Ant System: Optimization by a colony of cooperating objects // IEEE Transactions on systems, man, and cybernetics -Part B. 1996. 26(1). Р. 29-41.

8. Прилуцкий М.Х., Кумагина Е.А. Задача упорядочения работ как задача о назначениях // Вестник Нижегородского государственного университета. Математическое моделирование и оптимальное управление. Нижний Новгород: Изд-во ННГУ, 1999. Вып. 21. C. 18-24.

THE METHOD OF PATHS AND BOUNDARIES WITH HEURISTIC EVALUATION FOR A CONVEYOR PROBLEM OF SCHEDULING THEORY

M.Kh. Prilutsky, V.S. Vlasov

A conveyor problem to construct an optimal operating speed schedule has been considered. Heuristic and strict algorithms are given as well as a scheme of their sequential implementation.

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