
неотрицательны), рис. 23.8.

Pис. 23.8
2. Алгоритм формирования плана. Полученные результаты не являются конструктивными (они отвечают предположению
τvk = const и не дают рекомендаций по выбору наилучшего плана проведения работ), однако позволяют интерпретировать исходную задачу планирования как задачу отыскания наилучшего варианта расстановки столбцов матрицы || τkv ||, что должно облегчить применение здесь метода динамического программирования (или методов, сходных с ним по идее). Условия для этого следующие: рассматривается N-шаговый процесс планирования; содержанием очередного шага является размещение того или иного столбца (как единого целого) на определенной позиции; перед началом очередного шага возможны только N состояний процесса, причем параметр состояния скалярный (номер столбца).
Рассмотрим время Т как функцию только τvk (v =1, 2,…, N,
k=1,…, М), имея в виду возможность использования найденных решений. Оценка Т в виде (23.28), обозначаемая в дальнейшем как
, обладает рядом особенностей: в общем случае
представляет собой линейную комбинацию величин τvk, т. е.

где cvk—целочисленные коэффициенты; каждое значение
отвечает заданному порядку работ, который, в силу условия а), вполне определяется порядком проведения их первого этапа (т. е. принятыми τv1, v=1,…,N); следовательно, τvk является однозначно определенной функцией τv1. Учитывая эти замечания, получаем
![]()
Возможные наборы значений τv1 (v=1,…,N) образуются при перестановках N элементов первой строки матрицы || τkv ||, и множество всех таких перестановок объединяет N! элементов πj(j= 1,…,N!).
Обозначим через Р множество всех πj, допустимых по исходным ограничениям в), г). Возникает задача:
найти такие πj
Р, которые доставят min
.
Ее решение (однозначное или неоднозначное) есть τ*11,..., τ*N1, Т*, где
![]()
Поиск τ*v1, Т* осложняется тем, что Р является дискретным (точечным) множеством, и процесс переходов от одного элемента πj к другому (с целью улучшения
) должен быть как-то организован.
Пусть из совокупности τv1 (v = 1,…,N) выбрана и зафиксирована переменная τN1 (на последнее место поставлена одна из N работ). Если в этой ситуации найти минимум
по остальным τv1 (v = 1,…,N —1), допустив возможность перестановок соответствующих работ без нарушений условий в), г), то его величина будет определяться принятым τN1, поскольку

Здесь от τN1 зависит неявно и второе слагаемое правой части, так что

Предполагая функцию
N-1(τN1) известной, можно искать Т* в виде

Таким образом, осуществляется переход к функциональному уравнению
(23.24)
и основной вопрос заключается теперь в том, чтобы его решить относительно τv1 (v=1,…, N). Тем самым подтверждается принципиальная возможность применения метода динамического программирования в рассматриваемой задаче. Непосредственное использование оценки (23.23) в решении (23.24) связано с необходимостью составлять в каждом случае перечень номеров kN-p
(p = 0, 1, ..., N—2), выявлять зависимость
v-1 от параметра состояния, получать промежуточные
v и т. д. В этом смысле более экономным и удобным для практической реализации представляется алгоритм непосредственного пошагового формирования оптимальной последовательности работ, сводящийся к анализу промежуточных состояний и наилучших продолжений процесса планирования.
Основные этапы решения задачи
Вводится предположение о том, что (N—1)-ю позицию занимает первая (по исходной нумерации) работа, и в рамках этого предположения исследуются варианты формирования двух последних позиций будущего плана («первая и вторая работы», «первая и третья работы», ..., «первая и N - я работы»); для каждого такого варианта определяются wvk = τv,k-1—τv-1,k, ∆tv-1,k, Θvk при v = N, k = 2,…, M (см. выше), проверяется выполнение условий в), г) (при проверке в) используются приближенные оптимистические показатели, вычисляемые для идеализированного случая, когда все ∆tv-1,k, Θvk
(v = 2,…, N—1; k = 2,…, M) положены равными нулю; по мере накопления информации достоверность этих показателей растет, а в конечном счете они переходят в
v) и оцениваются величины

Вводится предположение о том, что (N—1)-ю позицию занимает вторая (по исходной нумерации) работа, и в рамках этого предположения исследуются варианты формирования двух последних позиций плана («вторая и первая работы», «вторая и третья работы», ... «вторая и N-я работы»); для каждого варианта ищутся wvk, ∆tv-1,k, Θvk
(v = N; k=2,…, M), проверяются условия в), г) и оцениваются Т.
Рассмотренные операции повторяются для оставшихся предположений, связанных с размещением третьей четвертой, ..., N-й работ на (N—1)-й позиции. Таким образом, оказываются исследованными N(N—1) вариантов, и становится возможным их сравнение с целью указать наилучшие из полученных
(все это удобно свести в первую таблицу результатов, содержащую перечни вариантов, допустимых по ограничениям в), г) и упорядоченных по признаку ухудшения
).
Вводится предположение о том, что (N—2)-ю позицию занимает первая (по исходной нумерации) работа. В рамках этого предположения исследуются варианты формирования трех последних позиций будущего плана, причем (N—1)-я и N-я позиции (т. е. продолжение процесса) формируются здесь как единое целое на основе использования данных первой таблицы результатов (см. 23.29). Определяются ∆tv-1,k, Θvk (v = N, N-1; k=2,…, M), проверяются условия в), г) (по оптимическим показателям) и оцениваются новые величины

Все эти операции повторяются применительно к предположениям, связанным с размещением второй, третьей, ..., N-й работ на (N—2)-й позиции, так что общее число анализируемых вариантов составляет по-прежнему N(N—1). Все результаты, не нарушающие ограничений в), г), сводятся во вторую таблицу.
Вводится предположение о том, что (N—3)-ю позицию занимает первая работа и исследуются варианты формирования четырех последних позиций будущего плана. Набор работ, попадающих на
(N—2)-ю, (N—1)-ю, N-ю позиции, выбирается из второй таблицы результатов, после чего проводятся стандартные проверки условий в), г), вычисляются
и, наконец, составляется третья таблица результатов. Переход к новым предположениям продолжается до тех пор, пока не будут составлены и оценены последовательности из N работ.
Общее количество исследуемых вариантов в рассмотренном алгоритме не превысит ~N3 вместо N! при полном переборе (реальный выигрыш получается для N>5).
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |


