- •Содержание:
- •Введение
- •1.Постановка задачи
- •2.Математическая модель
- •3.Оператор преобразования 𝛀k,l
- •4.Субоптимальные расписания
- •5. Образ пути при преобразовании расписания
- •6.Оценка эффективности преобразований
- •7.Выявление неэффективных преобразований
- •8.Условия 1-оптимальности расписания
- •Список используемой литературы:
2.Математическая модель
Для нахождения оптимального решения описанной задачи достаточно исследовать множество (класс) P квазикомпактных перестановочных расписаний без искусственных простоев[3]. Перестановочные расписания полностью определяются порядком выполнения работ и в случае n работ задаются одной из n! возможных перестановок их номеров.
Введем следующие обозначения:
n - множество всех перестановок из n элементов 1, 2, ..., n;
p(r) - r-й элемент перестановки p ∈ n.
Перестановке p соответствует упорядочение работ (расписание, перестановочное расписание) (p) = (tp(1) , tp(2), , … , tp(n)) ∈ P. Если p(r) = k, то работа tk в расписании 𝜋(p) занимает r-е место. Если p(r) = r при всех r = 1, 2, ..., n, то расписание 𝜋 (p) есть (t1, t2, ..., tn).
Обозначим через Cp(r)(𝜋, i) момент завершения выполнения i-й операции (на машине Мi) работы, занимающей в расписании 𝜋 (p) r-е место. Из постановки задачи следует, что для расчета моментов завершения операций Cp(r)(𝜋, i) можно воспользоваться следующими рекуррентными соотношениями:
В дальнейшем, вместо будем использовать обозначение C( , i). Величина определяет момент окончания обработки, то есть длину расписания π. Для обозначения длины расписания π будем пользоваться сокращенной формой записи: Cmax (π) или C(π). Момент завершения выполнения i-й операции конкретной работы tk обозначим Ck(π, i), ; Ck(𝜋, m) ≡ Ck(𝜋) - момент окончания выполнения работы tk.
Условия (1) отражают тот факт, что конвейерная система функционирует без искусственных простоев.
Критерий оценки расписания есть Cmax. Задача состоит в нахождении расписания 𝜋opt, такого, что
Для решения задачи используем матричную модель.
Определение 1. Последовательность элементов-клеток произвольной вещественной матрицы A = [aij]mxn называется сегментом, если каждый элемент (i, r) последовательности (кроме последнего) предшествует либо элементу (i + 1, r), либо элементу (i, r + 1).
Сегмент, первый элемент которого есть (a, b), а последний (c, d), будем обозначать abScd.
Определение 2. Сегмент11Smn ≡ S называется путем.
Сегменту abScd в матрице A = [aij]mxn поставим в соответствие последовательность элементов матрицы:
определим M(A) = {aij} - множество всех элементов матрицы A;
определим биекцию множества (последовательности элементов) abScd во множество M(abScd) ⊂ M(A):
(i, j) ∈ abScd a. ∈ M(abScd).
Будем считать множество M(abScd) упорядоченным: если aij ∈ M(abScd), akl ∈ M(abScd) и i + j < k + l, то aij ≺ akl (из определения пути следует, что i + j ≠ k + l).
Работу tj будем описывать вектором
Aj = [a1j… amj], (3)
расписание 𝜋(p) - матрицей времен выполнения работ
A = [Ap (1) Ap (2), …, Ap(n)], (4)
составленной из столбцов Aj, j = . Так, расписанию 𝜋(p) = (t1, t2, ..., tn) соответствует матрица A ≡ A(π) = [A1, A2, ..., An]. Для матрицы A введем специальную числовую характеристику -определитель AV:
Сопоставляя (1) и (5), заключаем, что AV≡ C(π), AV - время завершения выполнения последней работы в расписании π. Таким образом, задача (1), (2) поиска оптимального расписания сводится к нахождению экстремальной перестановки столбцов в матрице A времен выполнения работ.
Легко видеть, что в выражении (5) суммирование выполняется вдоль пути матрицы A(p) и
где {S} - множество всех путей матрицы A(p).
Определение 3. Путь S называется критическим, если
Пронумеруем все пути матрицы A(π) времен выполнения работ: S1, S2,…, Sq. Обозначим множество всех критических путей в матрице A(π) через M. Пусть IM - множество всех индексов u, таких, что и ∈ IM ⊆{1, 2, ..., q}⟹ Su ∈ M .
В тех случаях, когда возможны разночтения, для M и IM будем указывать их связь с конкретным расписанием: M (π) и IM (π). Для построения критического пути в матрице A(π) можно использовать следующую процедуру сложности O(n). Критический S путь строится от конца к началу; (m, n) ϵ S. Пусть (i, r) ϵ S.
Если i = 1, то (1, j) ∈ S для всех j = .
Если r = 1, то (k, 1) ∈ S для всех k = .
Пусть i > 1 и r > 1. Если , то (i - 1, r) ∈ S; в противном случае (i, r - 1) ∈ S.
Описанная процедура находит один критический путь из множества M(π). Как видно из п. 3, при построении критического пути удобно пользоваться матрицей = [Cp(r)(π, i)]mxn моментов окончаний выполнения работ.
Рассмотрим сегмент abScd пути S в матрице A(π) времен выполнения работ расписания π(p). Сегмент ab Scd определяет подматрицу abAcd, состоящую из строк с a-й по c-ю и столбцов с b-го по d-й матрицы A. Из выражений (1), (5) и (6) следует, что
Пример 1.1 По заданной матрице
|
1 |
2 |
3 |
3 |
4 |
4 |
|||
A(π) = |
3 |
4 |
5 |
5 |
1 |
2 |
|||
|
5 |
6 |
2 |
2 |
3 |
4 |
|||
|
4 |
5 |
6 |
1 |
8 |
3 |
|||
|
|
|
|
времен выполнения построим матрицу mxn моментов окончаний выполнения работ расписания π(p):
|
1 |
3 |
6 |
9 |
13 |
17 |
С𝜋 = |
4 |
8 |
13 |
18 |
19 |
21 |
|
9 |
15 |
17 |
20 |
23 |
27 |
|
13 |
20 |
26 |
27 |
35 |
38 |