и
Если временной интервал hi заменен на
1) Вычисление
2) Замещение временных интервалов (h1, h2,…, hn-1) на (
3) Замещение wj,2, wj,3,…, wj,n-1 на
Алгоритм оптимизации
Матрица А(Х) определена как вектор временных интервалов между выбранными узлами, т.е. [h1, h2,…, hn-1]. Основной задачей Х является представление Т(Х) и соответствует (h1+h2+…+hn-1). Сначала выбирается n – максимальное количество вершин Хi , (i=1,2,…, n), для формирования исходного многогранника. Пусть Xg и Xs имеют максимальное и минимальное значения функции. Предположим, что Хn+1 – центроид многогранника, не включая Хg. Вычисляется это так:
Алгоритм пытается выбрать наилучшие значения (в соответствии с минимальным значением функции) вдоль прямой, соединяющей Xg и Xn+1, для замещения неудовлетвори-тельной величины Xg. Если это ему не удается, то многогранник уменьшается. Процедура поиска необходимых величин и уменьшения размера многогранника включает в себя отображение, растяжение, сжатие и уменьшение. Все они представлены ниже:
1)Отображение: Отображение Xg через центроид вычисляется следующим образом:
Xn+2=Xn+1+a(Xn+1-Xg), (14)
где а>0 – коэффициент отображения. Отметим, что все элементы Xn+2 являются временными интервалами. Для того, чтобы все интервалы были положительными, коэффициент а должен быть правильно определен. Сначала, примем его равным 1. Если какой-нибудь элемент Xn+2 будет отрицательным, то коэффициент следует уменьшить. Пусть Xp=[
Xn+2=2Xn+1-Xg= [
Все элементы должны быть положительными, т.е.
Из (14) получаем
где 0<
2) Растяжение: Растянуть вектор (Xn+2-Xn+1) можно следующим образом:
Xn+3=Xn+1+
где
где 0<
3) Сжатие: Сжать вектор (Xg-Xn+1) можно следующим образом:
Xn+4=Xn+1+
где 0<
4) Уменьшение: Уменьшить все вектора (Xi-Xs), i=1,2,…,n, деля их пополам начиная с Xs можно следующим образом:
До начала поиска выберем n – максимальное количество вершин многогранника. Пусть qj,1, qj,3,…, qj,n-2, qj,n- присоединенные переменные, соответствующие положению схвата в j-й узловой точке. Из-за особенностей 2-ой и n-1 точек, qj,2 и qj,n-1 еще не определены. Временно они определены как qj,2=(qj,1+qj,3)/2 и qj,n-1=(qj,n-2+qj,n)/2. Таким образом, нижняя граница вектора временных интервалов оценивается как:
Первая вершина Х10 вычисляется как
где
D – выбранное расстояние. Поэтому,