Тест№4. Теория расписаний. Задача упорядочения. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Тест№4. Теория расписаний. Задача упорядочения.



Справочный материал.

С понятием расписания почти каждый человек знаком и на интуитивном и на понятийном уровне. Однако расписания бывают разные: расписание занятий в школе или вузе, расписание движения поездов, расписание порядка обработки детали на заводе и т. д. Соответственно, и задачи, которые необходимо решать при составлении расписаний, также бывают разные. Мы здесь остановимся на двух таких задачах. Первая из них – задача упорядочения. Но сначала о понятиях и величинах, которые будут фигурировать при постановке и решении этой задачи:

- процесс в теории расписаний обычно называют работой или операцией, а совокупность работ мы будем обозначать как A = (a1, a2,…,an), где ai – конкретная i – тая работа, а n – общее количество работ;

- начало работы tsi;

- длительность работы τi;

- конец работы tfi=tsi+ τi;

- стоимость работы ci;

- директивный срок Di (момент времени, к которому необходимо закончить работу) и т. д.

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

Решением задачи является совокупность моментов начала tsi всех операций.

Условие следования ak за ai:

tsk – tsi ≥ 0.

Условие несовпадения:

tsk - tsi ≥ τi.

Пример. Работы A = (a1, a2, a3, a4, a5), длительности работ: τ1 =2, τ2 =1, τ3 = 2, τ4=2, τ5=1. Ограничения на порядок следования:

t2 – t1 ≥ 2,

t3 – t1 ≥ 2,

t4 – t2 ≥ 1,

t5 – t3 ≥2,

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

t1 + t2 + t3 + t4 + t5 → min.

Как видно из постановки задачи – это задача линейного программирования (ЛП).

Решение. Из ограничений видно, что ограничений – четыре, а неизвестных – пять, поэтому одно из неизвестных можно выбрать почти произвольно (ориентируясь только на ограничения). Переменная t1 входит в ограничения со знаком минус, поэтому можно положить t1 = ts1 = 0. Чтобы преобразовать ограничения в равенства, вводим четыре новых переменных t1, t2, t3, t4 (по одному на каждое из неравенств). Тогда задача принимает вид:

f(t)= t2 + t3 + t4 + t5 → min.

t2 – t6 = 2,

t3 – t7 = 2,

t4 – t2 – t8 = 1,

t5 – t3 – t9 =2.

Система ограничений не является канонической и не может быть напрямую решена симплекс-методом, но ее можно привести к канонической по методу Гаусса:

 

t2 – t6 = 2,

t3 – t7 = 2,

t4 – t6 – t8 = 3,

t5 – t7 – t9 = 4.

Переменные t2, t3, t4, t5 являются в этой системе базисными переменными, а переменные t6, t7, t8, t9 - свободными переменными. После этого из данной системы легко выразить целевую функцию через свободные переменные

f(t)= 11 +2 t6 +2 t7 + t8 + t9.

Задача с данной целевой функцией и с этими ограничениями уже будет канонической и легко решается симплекс – методом:

ts1 = 0, ts2 = 2, ts3 = 2, ts4 =3, ts5 = 4.

Расписание выполнения работ, соответствующее этому решению и приведенным выше длительностям работ, приведено ниже в виде графика

Ганта:

Работы Сроки
a1 ********** *********      
a2     *********    
a3     ********* *********  
a4       ********* *********
a5         *********

0 1 2 3 4 5

 

Задание. Для работ A = (a1, a2, a3, a4, a5, a6), длительности которых и ограничения заданы ниже в таблице вариантов заданий, найти оптимальные по времени сроки начала работ и построить расписание в виде графика Ганта.

№№ варианта Длительности работ Ограничения
  τ1 =2, τ2 =1, τ3 = 2, τ4=2, τ5=1, τ6=1 t2 – t1 ≥ 2, t3 – t1 ≥ 2, t4 – t2 ≥ 1, t5 – t3 ≥2, t6 – t4 ≥2
  τ1 =1, τ2 =2, τ3 = 1, τ4=2, τ5=2, τ6=1 t2 – t1 ≥ 1, t3 – t1 ≥ 2, t4 – t2 ≥ 2, t5 – t3 ≥1, t6 – t4 ≥2
  τ1 =2, τ2 =1, τ3 = 2, τ4=2, τ5=3, τ6=2 t2 – t1 ≥ 2, t3 – t1 ≥ 2, t4 – t2 ≥ 1, t5 – t3 ≥2, t6 – t4 ≥2
  τ1 =2, τ2 =1, τ3 = 1, τ4=1, τ5=2, τ6=2 t2 – t1 ≥ 1, t3 – t1 ≥ 1, t4 – t2 ≥ 1, t5 – t3 ≥2, t6 – t4 ≥1
  τ1 =2, τ2 =1, τ3 = 1, τ4=2, τ5=1, τ6=2 t2 – t1 ≥ 1, t3 – t1 ≥ 2, t4 – t2 ≥ 1, t5 – t3 ≥1, t6 – t4 ≥2
  τ1 =2, τ2 =1, τ3 = 2, τ4=2, τ5=1, τ6=1 t2 – t1 ≥ 2, t3 – t1 ≥ 2, t4 – t2 ≥ 1, t5 – t3 ≥2, t6 – t4 ≥2
  τ1 =1, τ2 =2, τ3 = 1, τ4=2, τ5=2, τ6=1 t2 – t1 ≥ 1, t3 – t1 ≥ 2, t4 – t2 ≥ 2, t5 – t3 ≥1, t6 – t4 ≥2
  τ1 =2, τ2 =1, τ3 = 2, τ4=2, τ5=3, τ6=2 t2 – t1 ≥ 2, t3 – t1 ≥ 2, t4 – t2 ≥ 1, t5 – t3 ≥2, t6 – t4 ≥2
  τ1 =2, τ2 =1, τ3 = 1, τ4=1, τ5=2, τ6=2 t2 – t1 ≥ 1, t3 – t1 ≥ 1, t4 – t2 ≥ 1, t5 – t3 ≥2, t6 – t4 ≥1
  τ1 =2, τ2 =1, τ3 = 1, τ4=2, τ5=1, τ6=2 t2 – t1 ≥ 1, t3 – t1 ≥ 2, t4 – t2 ≥ 1, t5 – t3 ≥1, t6 – t4 ≥2
     
     
     

 

Тест№5. Теория расписаний. Задача распределения

Задача состоит в том, чтобы распределить совокупность работ

A = (a1, a2, …, an) по ресурсам (рабочим местам, расположенным в линию). Известны τi и множество предшествующих ей работ.

Критерии: число рабочих мест или время выполнения работ.

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

Для этой цели используется метод ветвей и границ. Рассмотрим на примере трех ресурсов A, B, C.

Общее время выполнения всех работ

T=max1≤u1≤u2≤n [ ∑ u1k=1 τikA + ∑u2k=u1 τikB + ∑u3k=u2 τikC ] (1)

Здесь k - очередность выполнения работы ai на каждом из ресурсов: A, B, C.

Ресурс A завершает обслуживание последовательности π из r работ A* за время

TA(π) = ∑rk=1 τikA (2)

Ресурс B завершает обслуживание последовательности π из r работ A* за время

TB(π) = max1≤ur [ ∑uk=1 τikA + ∑rk=u τikB ] (3)

Ресурс С завершает обслуживание последовательности π из r работ A* за время

TC(π) = max1≤ur [ ∑u1k=1 τikA + ∑u2k=u1 τikB + ∑rk=u2 τikC ] (4)

На основе формул (2)-(4) формируется следующая оценка γ(π) времени выполнения работ по ресурсам:

TA(π)+ ∑kЄA\A* τAk + min kЄA\A*Bk + τCk)

γ(π) = TB(π) + ∑kЄA\A* τBk + min kЄA\A* τCk (5)

TC(π) + ∑kЄA\A* τCk

Функция γ(π) вычисляется для каждой из оставшихся работ A\A* на r – том шаге построения перестановки работ. В перестановку включается работа, имеющая значение, меньшее γ(π).

Пример. Построить оптимальное по быстродействию расписание выполнения совокупности работ A=(a1, a2, a3, a4, a5) на ресурсах A, B, C. Времена выполнения каждой работы на каждом ресурсе приведены в таблице

ak a1 a2 a3 a4 a5
τAk          
τBk          
τCk          

Процесс решения этой задачи методом ветвей и границ представлен на Рис.1. На первом этапе рассматриваются все пять работ (вершин дерева решения задачи) в качестве 1-го элемента перестановки. Для каждой из них вычисляются оценки γ(a1) одноэлементной перестановки π=a1 по формулам (5):

γA(a1)= 5 + (4+7+2+3) + (1 + 1)=23;

γB(a1)= (5+8) + (4+1+8+1) + 1 =28;

γC(a1)= (5 + 8 + 1) + (9 + 4 + 4 +1)= 32.

Из них выбирается максимальная: γ(a1) = γC(a1)=32. Еюи помечается соответствующая вершина дерева (Рис. 1).

 

 

29
32
a1
32
a2
31
a3
34
a4
29
a5
30
a1
33
29
29
30
a2
a3
a5
29
a1
29
a3
29
a5
29
a3
a5
a5
Рис.1.

 

После вычисления оценок для всех работ по минимальной оценке γA(ak)=29

в качестве 1-го элемента перестановки выбирается работа a4. Аналогичным образом выбираются 2-й и последующие элементы перестановки π из оставшихся работ.

График Ганта оптимальной последовательности работ (Рис. 2) строится с использованием вышеприведенной таблицы. Каждой работе в графике ставится в соответствие потребляемый ею ресурс A, B, C.

Раб. Сроки

5                                         * * * A     * B         * C      
4 *   * A * * * * * * B * * *     * C                                        
3                         * * * * * * * A         * B   * * * * C        
2       * * * * A     * * * * B   * * * * * * * * * C                    
1           * * * * * * A       * * * * * * * * C                    

0 5 10 15 20 25 30

 

Задание

Построить оптимальное по быстродействию расписание выполнения совокупности работ A=(a1, a2, a3, a4, a5) на ресурсах A, B, C. Времена выполнения каждой работы на каждом ресурсе приведены в таблице для каждого варианта.

№ 1
k 1 2 3 4 5
Ak          
Bk          
Ck          

 

№2
k 1 2 3 4 5
Ak          
Bk          
Ck          

 

№3
k 1 2 3 4 5
Ak          
Bk          
Ck          

 

№4
k 1 2 3 4 5
Ak          
Bk          
Ck          

 

№ 5
k 1 2 3 4 5
Ak          
Bk          
Ck          

 

№ 6
k 1 2 3 4 5
Ak          
Bk          
Ck          

 

№ 7
k 1 2 3 4 5
Ak          
Bk          
Ck          

 

№ 8
k 1 2 3 4 5
Ak          
Bk          
Ck          

 

№ 9
k 1 2 3 4 5
Ak          
Bk          
Ck          

 

№ 10
k 1 2 3 4 5
Ak          
Bk          
Ck          

 

№ 11
k 1 2 3 4 5
Ak          
Bk          
Ck          

 

№ 12
k 1 2 3 4 5
Ak          
Bk          
Ck          

 

№ 13
k 1 2 3 4 5
Ak          
Bk          
Ck          

 

№ 14
k 1 2 3 4 5
Ak          
Bk          
Ck          

 

№ 15
k 1 2 3 4 5
Ak          
Bk          
Ck          

 

№ 16
k 1 2 3 4 5
Ak          
Bk          
Ck          

 

№ 17
k 1 2 3 4 5
Ak          
Bk          
Ck          

 

№ 18
k 1 2 3 4 5
Ak          
Bk          
Ck          

 

№ 19
k 1 2 3 4 5
Ak          
Bk          
Ck          

 



Поделиться:


Последнее изменение этой страницы: 2016-04-23; просмотров: 370; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.136.154.103 (0.041 с.)