Задача упорядочивания
 Алгоритм Джонсона

Каждый из n независимых процессов обработки информации состоит из двух операций, которые последовательно требуют ресурсы А и В на время Ai и Bi соответственно.

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

 

          Рассмотрим пример:

i

1

2

3

Ai

30

20

10

Bi

10

20

30

 

          Составим диаграмму Ганта. Данная диаграмма позволяет подсчитать общее время простоя.

 

 

 

 

 

 

 

 

 

 

 

 


          Время простоя – 40 мин.

 

          Обозначим:

          T- полное время процесса обработки,

          Xi- время ожидания ресурсом B i-го процесса.

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

 

 

 

 

 

 

 

 


из рисунка видно:

 

          Теперь исследуем сумму  .

 
 

 

 

 

 

 

 

 

 


i,r

1

2

3

Ai

30

20

10

Bi

10

20

30

30

50

60

-

10

30

30

40

30

 

Как и следовало ожидать, время простоя = 40 мин.

 

 

 

          Рассмотрим искомый порядок

 

 

и порядок, полученный транспонированием пары (k,k+1)

 

 

          Значения и , получаемые для порядков S1 и S2 одинаковы при всех r, кроме, может быть, r=k и r=k+1.

 

          Так, как необходимо найти


         

 

          Это условие выполняется в двух случаях:

 

          а)

 

 

 

 


т.е. если в таблице времен можно найти время Ak , не превосходящее всех прочих времен, то искомый порядок должен начинаться с процесса pk.

 

          б)

 

 

 


т.е. , если в таблице времен можно найти время Bk+1, меньшее всех прочих времен, то искомый порядок должен завершаться процессом pk+1.

 

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

 

Выбирается наименьшее время в таблице времен.

Если это значение относится к операции A принимается решение начать обработку с этого процесса, иначе завершают обработку этим процессом.

Рассмотренный процесс вычеркивается из таблицы времен и переходят к пункту 1.

 

          Пример: Каждый из 8-ми независимых процессов обработки информации состоит из двух операций, которые последовательно требуют ресурсы А и В на время Аi и Вi соответственно. Выбрать такой порядок следования процессов, при котором будет обеспечено наименьшее время процесса обработки.

 

i

1

2

3

4

5

6

7

8

Ai

12

10

14

18

25

20

15

12

Bi

10

8

11

12

20

25

20

15

 

          Решение данной задачи приведено в таблице 2.

Таблица 2

количество процессов: 8

имя процесса

1

2.

3.

4.

5.

6.

7.

8.

время А

12

10

14

18

25

20

15

12

время В

10

8

11

12

20

25

20

15

 

 

 

 

 

 

 

 

 

имя процесса

1.

2.

3.

4.

5.

6.

7.

8.

время А

12

10

14

18

25

20

15

12

время В

10

8

11

12

20

25

20

15

время простоя 38

транспозиция пары 2. 8. позиции 2 8

имя процесса

1.

8.

3.

4.

5.

6.

7.

2.

время А

12

12

14

18

25

20

15

10

время В

10

15

11

12

20

25

20

8

время простоя 33

транспозиция пары 1. 7. позиции 1 7

имя процесса

7.

8.

3.

4.

5.

6.

1.

2.

время А

15

12

14

18

25

20

12

10

время В

20

15

11

12

20

25

10

8

время простоя 26

транспозиция пары 3. 6. позиции 3 6

имя процесса

7.

8.

6.

4.

5.

3.

1.

2.

время А

15

12

20

18

25

14

12

10

время В

20

15

25

12

20

11

10

8

время простоя 18

транспозиция пары 8. 7. позиции 2 1

имя процесса

8.

7.

6.

4.

5.

3.

1.

2.

время А

12

15

20

18

25

14

12

10

время В

15

20

25

12

20

11

10

8

время простоя 18

транспозиция пары 4. 5. позиции 4 5

имя процесса

8.

7.

6.

5.

4.

3.

1.

2.

время А

12

15

20

25

18

14

12

10

время В

15

20

25

20

12

11

10

8

время простоя 13

сохранена позиция 2 процесс 7.

сохранена позиция 3 процесс 6.

 

 

Обобщение на трехэтапные работы

Алгоритм Джонсона применим для последовательности и процессов, подлежащих выполнению в порядке: A, B, C в двух нижеследующих случаях:

 или .

Тогда осуществляется поиск оптимальных сроков по суммам: Ai+Bi и Bi+Ci .

 

          Пример. Пусть операции над массивами p1p5 заданы сроками выполнения Ai, Bi, Ci (табл. 5). Условие  выполняется. Таким образом имеем таблицу 6.

 

Таблица 5

 

Таблица 6

 

Ai

Bi

Ci

 

 

Ai+Bi

Bi+Ci

p1

7

6

4

 

p1

13

10

p2

11

5

12

 

p2

16

17

p3

8

3

7

 

p3

11

10

p4

7

5

8

 

p4

12

13

p5

6

3

3

 

p5

9

6

 

          Алгоритм Джонсона позволяет выбрать

 

  или

Модель Раймонда

Каждый из двух независимых процессов обработки информации n=2 состоит из трех операций m=3, которые последовательно монополизируют ресурсы A,B и C, на время Ai, Bi и Ci соответственно.

Выбрать такой порядок следования процессов при котором будет обеспечено наименьшее время обработки.

 

I

1

2

A

10

2

B

2

2

C

0

3

 

Описанный ниже метод применим и для общего случая (n>2, m>3).Рассматриваемую обработку можно представить в следующем виде.

 

 

 

 

 

 

 

 

 

 

 

 

 


Вершины графа

a,b,c,d,e - означают начало соответствующего процесса,

a',b',c',d',e' - завершение процесса,

g - завершение обработки информации.

 

          Моменты времени, которые соответствуют этим вершинам обозначим: ta, tb,…

 

          Таким образом задача выбора порядков следования процессов может быть записана в следующем виде:

                                                   (1)

 

                                 (2)

                                      (3)

                                      (4)

 

          Ограничения (3) и (4) отражают тот факт, что один ресурс в одно и тоже время может быть резервирован только одним процессом. Эти ограничения из-за наличия функции неравнозначности вносят нелинейность в рассматриваемую задачу. Заменим ограничения (3) и (4) системой линейных ограничений.

 

          Положим для ресурса A

y1=0, если длина дуги ba равна 10, ,     

          процесс 1 предшествует процессу 2;

y1=1, если длина дуги ab равна 2, ,
          процесс 1 следует за процессом 2.

          Введем постоянную M такую, чтобы заведомо выполнялось условие M>tg. Пусть M=20. Условие (3) можно заменить системой (5).

 

                                                (5)

 

          Докажем, что (5) эквивалентно (3):

 

y1=0,  совпадает с 1 ограничением из (3),

          выполняется всегда;

 

y1=1,  выполняется всегда,

           совпадает со 2 ограничением из (3).

          Проведя аналогичные рассуждения для ресурса В, получаем:

         

                                               (6)

          В итоге рассматриваемая задача примет вид (1), (2), (5) и (6).

 

 

Методы оптимального размещения
информации на внешних носителях

Оптимальное распределение информации
 на внешнем носителе

 

Пусть задано множество файлов

каждый из которых характеризуется физической длиной Li и вероятностью обращения pi, т.е. .

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

В случае применения диска, физической длинной файла считается количество смежных цилиндров, которое ему отведено.

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

установка носителя в исходное начальное положение, а затем перемещение в прямом направлении до начала нужного файла,

перемещение носителя кратчайшим путем в прямом или обратном направлении до начала нужного файла.

Поиск информации через начало носителя

         Процесс обращения к нужному файлу можно расчленить на две части:

подвод читающей головки от начала ленты до начала файла и просмотр самого файла;

возврат головки в исходное состояние.

 

                             В обоих случаях длина прогона носителя равна:

.

    Математическое ожидание длины прогона носителя можно записать в виде:

 

,

и в качестве функционала на множестве всех перестановок из m объектов выберем

Найдем необходимые условия оптимальной перестановки G*. Пусть G* искомый порядок, а G – порядок, полученный транспозицией пары (j, j+1). Значения F(G*)  и F(G) различаются может быть слагаемыми  и , т.е.

 

 

Таким образом необходимым условием оптимальной перестановки G* является:

 или , где

                        Пример. Имеем последовательность шести массивов

 

i

1

2

3

4

5

6

Li

6

4

50

30

9

1

pi

0.13

0.07

0.4

0.1

0.2

0.1

46

57

125

300

45

10

 

 

 

 

i

6

5

1

2

3

4

Li

1

9

6

4

50

30

pi

0.1

0.2

0.13

0.07

0.4

0.1

10

45

46

57

125

300

 

          После сортировки по возрастанию  имеем

Зависимость для оптимальной перестановки
 в случае поиска информации через начало носителя

 

i

 

 

Поиск информации по кратчайшему маршруту

Вероятность последовательного обращения от массива fi к fj  равна pipj.

          Длина прогона носителя от fi к fj  в этом случае можно записать в виде:

 

 

fi

 

fj

 

fj

 

fi

 

          Математическое ожидание длины прогона носителя  представим в виде таблицы на пересечении i строки и  j столбца которой стоит величина .

 

 

p1

p2

p3

p4

P1

L1

 

L2

L2 L3

P2

L1L2

L2

 

L3

P3

L1 L2 L3

L2 L3

L3

 

P4

L1 L2 L3 L4

L2 L3 L4

L3 L4

L4

 

 

          В общем случае за целевую функцию возьмем

 

 

          Найдем необходимые условия оптимальной перестановки G*. Пусть G* – искомый порядок, а G – порядок, полученный транспозицией пары (j, j+1). Значения F(G*) и F(G) различаются может быть слагаемыми для k=j и k=j+1.

 

 

          Т.к.

 

 

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

 

, что характерно для начала перестановки G*.

 

 

 

 

 
 

 

 


, что характерно для конца перестановки G*.


 

 

 


     

 

 

 

Рассмотрим алгоритм, по которому практически можно осуществить процесс оптимизации.

 

Массивы сортируются таким образом, чтобы характеристика  не убывала от центра к периферии.

Переменной f присвоить значение адреса массива с наименьшим значением . Вычислить S=f - 1.

Если S < 1, выполнить пункт 8.

Вычислить S1=S+1.

Если условие транспозиции не выполняется, т.е. , выполнить пункт 8.

Выполнить транспозицию пары (S, S1).

Вычислить S=S - 1, перейти к пункту 3.

Если (число массивов), окончить вычисление.

Вычислить f1=f+1.

Если , окончить вычисление.

Выполнить транспозицию пары (f, f1).

Вычислить S = f - 1, f = f1, выполнить пункт 3.

 

          Рассмотрим пример:

          Имеется последовательность шести массивов (j – номер i массива в текущей перестановке)

 

j

1

2

3

4

5

6

i

1

2

3

4

5

6

Li

6

4

50

30

9

1

pi

0.13

0.07

0.4

0.1

0.2

0.1

gi

46

57

125

300

45

10

 

          Вычислить значение целевой функции F(S) для исходной перестановки.

 

 

Массивы сортируем таким образом, чтобы характеристика  убывала от периферии к центру.

 

j

1

2

3

4

5

6

i

3

1

6

5

2

4

 li

125

46

10

45

57

300

pi

0.4

0.13

0.1

0.2

0.07

0.1

 

F(S)=2.62

 

f=3, S=2.

S не меньше 1, следовательно выполняем пункт 4.

S1=3.

Рассматриваем пару (S, S1) т.е. (2, 3):

l2=46, l3=10,

a1=0.4, b4=0.37,

.

Выполним транспозицию пары (2, 3):

 

j

1

2

3

4

5

6

i

3

6

1

5

2

4

 li

125

10

46

45

57

300

pi

0.4

0.1

0.13

0.2

0.07

0.1

 

F(S)=2.606

 

S=1, S не меньше 1, S1=2.

Рассматриваем пару (1, 2)

l1=120, l3=10,

a0=0, b3=0.5,

.

Условие транспозиции не выполняется.

f меньше 6, f1=4.

Рассматриваем пару (3, 4):

l3=46, l4=45,

a2=0.5, b5=0.17.

Выполним транспозицию пары (3, 4):

 

j

1

2

3

4

5

6

i

3

6

5

1

2

4

 li

125

10

45

46

57

300

pi

0.4

0.1

0.2

0.13

0.07

0.1

 

F(S) = 2.596.

 

S = 2 = f -1,  f = f1 = 4.

S не меньше 1, следовательно выполнить пункт 4.

Рассмотрим пару (S, S+1) т.е. (2, 3):

l3=46, l4=45,

a2=0.5,  b5=0.17,

.

Транспозиция нецелесообразна, выполним пункт 8.

f=4 < m, следовательно f1=5.

Рассмотрим пару (f, f1) т.е. (4, 5):

l3=46,  l4=57,

a2=0.7, b5=0.1.

Транспозиция нецелесообразна.

Окончить вычисление.

Оптимальная перестановка: 3, 6, 5, 1, 2, 4.

Зависимость для оптимальной перестановки в случае поиска информации по кратчайшему маршруту

 

 

 

 

 

Решение задачи линейного программирования с булевыми переменными
 методом частичного перебора

Предположим, что рассматриваемая модель имеет следующий вид:

,

,

.

Если учитывать лишь условие 3, то существует 2m возможных решений (x1, x2, … xm) = R. Разумеется многие из них недопустимы из-за ограничений 2.

Рассмотрим некоторое подмножество переменных {xj}, в котором каждому переменному поставлено в соответствие определенное числовое значение (0 или 1). Такое подмножество называют частичным решением.

Переменные, принадлежащие частичному решению, называют базисными переменными.

Переменные, не входящие в частичное решение, носят название свободных переменных.

Любой конкретный выбор числовых значений свободных переменных называется дополнением соответствующего частичного решения.

Если частичное решение содержит s переменных, то существует 2m-s дополнений.

Допустим, что известна нижняя оценка оптимального значения целевой функции – b0 и зафиксировано R – допустимое решение, дающее эту оценку. Если каким-либо образом можно показать, что не существует допустимого дополнения или существующее дополнение не позволяет улучшить текущую нижнюю оценку – b0, то говорят, что частичное решение dn, содержащее s переменных, прозондировано, т.е. неявным образом просмотрены 2m-s дополнений.

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

Рассмотрим способ, устанавливающий факт существования допустимого дополнения, дающего значение целевой функции, улучшающее текущую нижнюю оценку – b0.

 

          Пример 1.

          Если задача содержит ограничение

,

то для частичного решения

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

т.е., даже полагая x5 = 1, а x2 = 0, невозможно выполнить это ограничение.

 

      Смысл рассмотренного примера заключается в следующем:

при заданном частичном решении представим линейные ограничения в виде:

,

где Sn – множество индексов, которыми помечены свободные переменные,

          Вn – множество индексов, которыми помечены базисные переменные.

          Допустимого дополнения не существует, если

.

          Сумма в левой части этого неравенства представляет собой сумму всех отрицательных коэффициентов при свободных переменных. Если эта сумма больше правой части, то, даже полагая xj = 1, для каждой свободной переменной, где aij < 0, невозможно выполнить i-тое ограничение.

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

 

          Пример 2.

          Если задача содержит ограничение

,

 то для частичного решения

в любом дополнении должно выполняться условие x3 = 0, т.к. только в этом случае справедливо

.

Этот пример позволяет сделать вывод, что для любой свободной переменной xk в случае, когда

      Таким образом алгоритм можно написать так:

Обозначим           

Cond Ps –условие допустимости зондируемого решения,

CondPs = TRUE, если "i: FSNi < FBNi.

Cond Wi – возможность расширения зондируемого решения,

condWi = TRUE, если

,

в этом случае

Cond Cm – условие полноты зондируемого решения.

dn = PROBE – зондируемое решение.

DECIS – условие существования решения.

R – решение.

Fmin – значение целевой функции.

n = NUMPR – номер зондируемого решения.

 

Вычислить DECIS = FALSE, Fmin = 10, n = 1.

Вычислить FSN, FBN, CondPs, CondCm.

Если зондируемое решение недопустимо (CondPs = FALSE), то перейти к пункту 11.

Если допустимое зондируемое решение полно (CondCm = TRUE), перейти к пункту 10.

Вычислить возможность расширения зондируемого решения (CondWi).

Если CondWi = FALSE, выполнить пункт 9.

Расширить зондируемое решение

 

Перейти к пункту 2.

Выполнить искусственное расширение, т.е. вычислить:

dn = dn È xk = 0;  dn+1 = dn È xk = 1;  n = n + 1,

и перейти к пункту 2.

Вычислить R = dn, Fmin = b0, DECIS = TRUE.

Вычислить n = n – 1, т.е. перейти к зондированию следующего частичного решения.

Если список зондируемых решений не пуст, т.е. n > 0, перейти к пункту 2, иначе окончить вычисления.

 

Для иллюстрации предложенного алгоритма рассмотрим пример:

max F =   3x1 + 6x2 + 3x3 + 6x4 + 13x5

- 3x1 - 6x2 + 6x3 + 12x4 + 7x5    £  8

6x1 + 12x2 - 3x3 - 6x4 + 7x5     £  8

DECIS = FALSE, Fmax = –¥, n = 1.

Допустимое решение существует так как:

CondPs = True

("i: FSNi < FBNi)

CondCm = False

 

i

FSN

1

2

3

4

5

FBN

0

–31

–3

–6

–3

–6

–13

0

1

–9

–3

–6

6

12

7

8

2

–9

6

12

–3

–6

7

8

CondWi : $ i : FSNi + ïaikï > FBNi;

такого i не существует ÞCondWi = FALSE,

следовательно выполняем 9.

Выполняем искусственное расширение

d1 = (x1 x2 x3 x4 0),  d2 = (x1 x2 x3 x4 1)

n = 2.  S1 = {1, 2, 3, 4};  B1 = {5};  S2 = {1, 2, 3, 4};  B2 = {5}

CondPs = True

(Зондируемое решение допустимо)

CondCm = False

 

i

FSN

1

2

3

4

FBN

0

–18

–3

–6

–3

–6

13

1

–9

–3

–6

6

12

1

2

–9

6

12

–3

–6

1

 

CondWi = TRUE: $ i = 2: FSN2 + ½a22½ > FBN2, k = 2.

Следовательно, частичное решение можно расширить. Выполняем пункт 7.

Расширяем зондируемое решение

k = 2

S2 = {1, 3, 4},  B2 = {2, 5},  d2 = (x1 0 x3 x4 1)

          2.

CondWi = TRUE : $ i = 1: FSN1 + ½a13½ > FBN1, k = 3.

Следовательно, зондируемое решение можно расширить

0

FSN

1

3

4

FBN

CondPs = True (следовательно, зондируемое решение допустимо)

CondCm = False (следовательно, зондируемое решение не полно)

 

0

–12

–3

–3

–6

13

1

–3

–3

6

12

1

2

–9

6

–3

–6

1

x3 = 0,  S2 = {1, 4},  B2 = {2, 3, 5},  d2 = (x1 0 0 x4 1).

 

i

FSN

1

4

FBN

CondPs = True (следовательно, зондируемое решение допустимо)

CondCm = False (следовательно, зондируемое решение не полно)

 

0

–9

–3

–6

13

1

–3

–3

12

1

2

–6

6

–6

1

CondWi = TRUE : $ i = 1: FSN1 + ½a14½ > FBN1, k = 4,

x4 = 0,  S2 = {1},  B2 = {2, 3, 4, 5},  d2 = (x1 0 0 0 1)

 

i

FSN

1

FBN

CondPs = True

CondCm = False

CondWi = True

x1 = 0

 

0

–9

–3

13

1

–3

–3

1

2

  0

6

1

 

i

FSN

FBN

CondPs = True

CondCm = True

 

0

0

13

1

0

1

2

0

1

Fmin = 13, R = (0, 0, 0, 0, 1),  DECIS = TRUE,

 

n = 1.i

FSN

1

2

3

4

FBN

CondPs = True

CondCm = False

CondWi = True, x2 = 1

d1 = (x1 1 x3 x4 0)

 

0

–18

–3

–6

–3

–6

–13

1

–9

–3

–6

6

12

8

2

–9

6

12

–3

–6

8

 

 

i

FSN

1

3

4

FBN

CondPs = True

CondCm = False

CondWi = True, x4 = 1

d1 = (x1 1 x3 1 0)

 

0

–12

–3

–3

–6

–7

1

–3

–3

6

12

14

2

–9

6

–3

–6

–4

 

 

i

FSN

1

3

FBN

CondPs = True

CondCm = False

CondWi = True, x1 = 0

d1 = (0 1 x3 1 0)

0

–6

–3

–3

–1

1

–3

–3

6

2

2

–3

6

–3

2

 

 

i

FSN

3

FBN

CondPs = True

CondCm = False

CondWi = True, x3 = 0

d1 = (0 1 0 1 0)

0

–3

–3

–1

1

0

6

2

2

–3

–3

2

 

 

i

FSN

FBN

CondPs = False ®  d1недопустимо

 

0

0

–1

1

0

2

2

0

2

 

 

n = 0, список задач пуст

Fmax = 13,   R = (0, 0, 0, 0, 1)

DECIS = TRUE

          Прекращаем дальнейшие вычисления. Оптимальное значение целевой функции равно 13.

Выбор подпрограмм из заданного набора

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

 

          Рассмотрим следующие задачи.

 

1. Выбор набора логических подпрограмм:

а) минимизирующего объем занимаемой памяти при ограничениях на время   выполнения подпрограмм.

б) минимизирующего время выполнения подпрограмм при ограничениях на объем занимаемой ими памяти.

 

          1.а)

          Пусть задано L подпрограмм, с помощью которых можно полностью реализовать алгоритм системы.

          Номер подпрограммы обозначим через

          Система (алгоритм) состоит из M операций. Номер операции обозначим через

          Каждой подпрограмме припишем коэффициент определяемый по правилу:

 

и переменную, определяемую по правилу:

          Разница между изаключается в том,

что - задается заранее, а

       - находится в результате решения.

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

          Таким образом необходимо минимизировать

, где      (1)

Sl - объем памяти занимаемой l-й подпрограммой.

 

                                        (2)

 

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

          Для реализации m-ой операции может быть использована одна и только одна подпрограмма:

 

      (4)

 

          Так как время выполнения операций ограничено:

 

, где (5)

 

- время выполнения l-ой подпрограммы при реализации m-операции,

- число выполнения m-ой операции.

          Формализованная запись исходной задачи содержит линейную целевую функцию (1), линейные ограничения (4) и (5).

          Система ограничений (2) представляет собой нелинейную систему ограничений.

          Можно показать, что любое нелинейное ограничение (2) эквивалентно системе линейных ограничений (3).

 (3)

Таблица 1.

 

 

 

 

 

 

 

0

0

1

1

1

1

0

0

0

1

0

0

1

0

-1

-1

0

2

0

0

1

0

-2

-2

0

m

0

0

1

0

-m

-m

0

M

0

0

1

0

-M

-M

1

0

0

0

0

1

1

M

1

1

1

1

1

1

0

M-1

1

2

1

1

1

1

-1

M-2

1

m

1

1

1

1

1-m

M-m

1

M

1

1

1

1

1-M

M-M

 

Таким образом, исходная задача сведена к минимизации целевой функции (1) при ограничениях (3), (4), (5).

В рассмотренном случае мы предполагали, что характеристики подпрограмм не зависят от характера входных и выходных данных. В тех случаях, когда это не так, необходимо различать операции обработки данных разного типа. Заметим также, что при выборе набора подпрограмм мы учитываем только длину подпрограммы. Характеристики используемых ее рабочих и информационных массивов не рассматриваются, или, что тоже самое, считается, что длинна каждой подпрограммы указана с учетом используемых объемом памяти для рабочих массивов.

          1.б) В случае необходимости минимизации времени работы системы логических программ целевая функция принимает вид

 

     (6)

 

а вместо ограничения (5) записываем ограничение

 

  (7)

 

          Теперь задача сведена к минимизации целевой функции (6) при ограничениях (3), (4), (7).

 

      Пример 1.

          Задано множество процедур (подпрограмм) L={1,2,3}, реализующие алгоритм, состоящий из 3 ( M=3 ) операций. Известно, что Sl- объем памяти занимаемой l-той процедурой:

tlm- время реализации l-той процедурой m-ой операции:

 

 

Номер процедуры

1

2

3

 

Матрица имен

переменных

Ресурс (Sl)

4

2

1

x1

x5

x9

Алгоритм

 

Операция 1

 

2

 

 

4

 

x2

 

 

 

x10

Операция 2

3

4

 

x3

x7

 

Операция 3

 

5

6

 

x8

x12

 

      Выбрать набор процедур, реализующих алгоритм за наименьшее время и занимающих объем памяти не превышающий 3 ед.

 

   целевая функция (6)

 

    огр. (7)

 

   огр. (3)

 

    огр. (4)

 

          Решая полученную задачу линейного программирования с булевыми переменными (например методом частичного перебора) получим значение целевой функции F=13 и вектор- решения R=(011110), разворачивая который получим матрицу значений переменных и решение задачи в целом.

 

Номер процедуры

1

2

3

 

Матрица значений
переменных

Ресурс (Sl)

 

2

1

0

1

1

Алгоритм

 

Операция 1

 

 

 

 

4

 

0

 

 

1

Операция 2

 

4

 

0

1

 

Операция 3

 

5

 

 

1

0

 

          Таким образом, проведя аналогичный анализ различных t можно придти к выводу:

 

 

S

 

 

1

 

5

 

7

 

9

 

10

 

12

 

T

 

S<3

решения нет

S=3

0

1

1

1

1

0

13

4

0

1

1

1

1

0

13

5

1

0

0

1

0

1

11

6

1

1

0

0

0

0

10

7

 

 

 

 

 

 

10

S>7

 

 

 

 

 

 

 

Исходные данные к задаче выбора состава пакета из заданного набора процедур

          Количество операций:   3

          Количество процедур:    3

          Общий ресурс не выше: 3.0


 

Номер процедуры:

.1.

.2.

.3.

 

Ресурс:

4.000

2.000

1.000

:

…………………………………………………………...

Операция 1:

2.000

0.000

4.000

:

Операция 2:

3.000

4.000

0.000

:

Операция 3:

0.000

5.000

6.000

:

 

 

Матрица имен переменных

1

5

9

-2

0

10

-3

7

0

0

-8

12

 

Матрица ограничений

1

-2

-3

0

5

0

7

0.0

2.0

3.0

0.0

0.0

0.0

1.0

4.0

0.0

0.0

0.0

2.0

0.0

0.0

1.0

-1.0

-1.0

0.0

0.0

0.0

1.0

-3.0

1.0

1.0

0.0

0.0

0.0

-1.0

0.0

0.0

0.0

0.0

1.0

0.0

-1.0

0.0

0.0

0.0

0.0

-3.0

0.0

1.0

0.0

0.0

0.0

0.0

0.0

0.0

0.0

0.0

0.0

0.0

0.0

0.0

0.0

0.0

 

Матрица ограничений (продолжение)

-8

9

10

0

12

 

5.0

0.0

0.0

0.0

1.0

-10.0

0.0

1.0

1.0

0.0

0.0

3.0

0.0

0.0

0.0

0.0

0.0

2.0

0.0

0.0

0.0

0.0

0.0

-2.0

-1.0

0.0

0.0

0.0

1.0

1.0

1.0

0.0

0.0

0.0

-1.0

-1.0

0.0

1.0

1.0

0.0

-1.0

0.0

0.0

-3.0

-3.0

0.0

1.0

0.0

 

Сжатая матрица ограничений

1

5

7

9

10

12

0

0.0

0.0

1.0

0.0

0.0

1.0

-10.0

4.0

2.0

0.0

1.0

1.0

0.0

3.0

1.0

0.0

1.0

0.0

0.0

0.0

2.0

-3.0

0.0

-1.0

0.0

0.0

0.0

-2.0

0.0

1.0

-1.0

0.0

0.0

1.0

1.0

0.0

-3.0

1.0

0.0

0.0

-1.0

-1.0

0.0

0.0

0.0

1.0

1.0

-1.0

0.0

0.0

0.0

0.0

-3.0

-3.0

1.0

0.0

 


 

Зондируемые решения

 

 

N\J

1

2

3

4

5

6

 

 

:1

-1

-1

-1

-1

-1

-1

FSN

FBN

 

 

 

 

 

 

 

0.0

90.0

:1

0.0

0.0

1.0

0.0

2.0

1.0

0.0

3.0

:2

4.0

2.0

0.0

1.0

0.0

0.0

0.0

2.0

:3

1.0

0.0

1.0

0.0

1.0

0.0

-5.0

-2.0

:4

-3.0

0.0

-1.0

0.0

-1.0

0.0

-1.0

1.0

:5

0.0

1.0

-1.0

0.0

0.0

1.0

-4.0

-1.0

:6

0.0

-3.0

1.0

0.0

0.0

-1.0

-2.0

0.0

:7

0.0

0.0

0.0

1.0

-1.0

-1.0

-3.0

0.0

:8

0.0

0.0

0.0

-3.0

1.0

1.0

CONDWI = T расширение по условию CONDWI

Адрес расширяющегося коэффициента: LINWI = 2 COLWI = 1

 

 

Зондируемые решения

 

 

N\J

1

2

3

4

5

6

 

 

:1

0

-1

-1

-1

-1

-1

FSN

FBN

 

 

 

 

 

 

 

0.0

90.0

:1

0.0

0.0

1.0

0.0

2.0

1.0

0.0

3.0

:2

4.0

2.0

0.0

1.0

0.0

0.0

0.0

2.0

:3

1.0

0.0

1.0

0.0

1.0

0.0

-2.0

-2.0

:4

-3.0

0.0

-1.0

0.0

-1.0

0.0

-1.0

1.0

:5

0.0

1.0

-1.0

0.0

0.0

1.0

-4.0

-1.0

:6

0.0

-3.0

1.0

0.0

0.0

-1.0

-2.0

0.0

:7

0.0

0.0

0.0

1.0

-1.0

-1.0

-3.0

0.0

:8

0.0

0.0

0.0

-3.0

1.0

1.0

CONDWI = T расширение по условию CONDWI

Адрес расширяющегося коэффициента: LINWI = 4 COLWI = 3

 

 

Зондируемые решения

 

 

N\J

1

2

3

4

5

6

 

 

 

:1

0

-1

1

-1

-1

-1

 

FSN

FBN

 

 

 

 

 

 

 

 

0.0

89.0

:1

0.0

0.0

1.0

0.0

2.0

1.0

 

0.0

3.0

:2

4.0

2.0

0.0

1.0

0.0

0.0

 

0.0

1.0

:3

1.0

0.0

1.0

0.0

1.0

0.0

 

-1.0

-1.0

:4

-3.0

0.0

-1.0

0.0

-1.0

0.0

 

0.0

2.0

:5

0.0

1.0

-1.0

0.0

0.0

1.0

 

-4.0

-2.0

:6

0.0

-3.0

1.0

0.0

0.0

-1.0

 

-2.0

0.0

:7

0.0

0.0

0.0

1.0

-1.0

-1.0

 

-3.0

0.0

:8

0.0

0.0

0.0

-3.0

1.0

1.0

 

 

CONDWI = T расширение по условию CONDWI

 

Адрес расширяющегося коэффициента: LINWI = 4 COLWI = 5

 


 

Зондируемые решения

 

 

N\J

1

2

3

4

5

6

 

 

:1

0

-1

1

-1

1

-1

FSN

FBN

 

 

 

 

 

 

 

0.0

87.0

:1

0.0

0.0

1.0

0.0

2.0

1.0

0.0

3.0

:2

4.0

2.0

0.0

1.0

0.0

0.0

0.0

0.0

:3

1.0

0.0

1.0

0.0

1.0

0.0

0.0

0.0

:4

-3.0

0.0

-1.0

0.0

-1.0

0.0

0.0

2.0

:5

0.0

1.0

-1.0

0.0

0.0

1.0

-4.0

-2.0

:6

0.0

-3.0

1.0

0.0

0.0

-1.0

-1.0

1.0

:7

0.0

0.0

0.0

1.0

-1.0

-1.0

-3.0

-1.0

:8

0.0

0.0

0.0

-3.0

1.0

1.0

CONDWI = T расширение по условию CONDWI

Адрес расширяющегося коэффициента: LINWI = 6 COLWI = 2

 

Зондируемые решения

 

 

N\J

1

2

3

4

5

6

 

 

:1

0

1

1

-1

1

-1

FSN

FBN

 

 

 

 

 

 

 

0.0

87.0

:1

0.0

0.0

1.0

0.0

2.0

1.0

0.0

1.0

:2

4.0

2.0

0.0

1.0

0.0

0.0

0.0

0.0

:3

1.0

0.0

1.0

0.0

1.0

0.0

0.0

0.0

:4

-3.0

0.0

-1.0

0.0

-1.0

0.0

0.0

1.0

:5

0.0

1.0

-1.0

0.0

0.0

1.0

-1.0

1.0

:6

0.0

-3.0

1.0

0.0

0.0

-1.0

-1.0

1.0

:7

0.0

0.0

0.0

1.0

-1.0

-1.0

-3.0

-1.0

:8

0.0

0.0

0.0

-3.0

1.0

1.0

CONDWI = T расширение по условию CONDWI

Адрес расширяющегося коэффициента: LINWI = 8 COLWI = 4

 

Зондируемые решения

 

 

N\J

1

2

3

4

5

6

 

 

:1

0

1

1

1

1

1

FSN

FBN

 

 

 

 

 

 

 

0.0

87.0

:1

0.0

0.0

1.0

0.0

2.0

1.0

0.0

0.0

:2

4.0

2.0

0.0

1.0

0.0

0.0

0.0

0.0

:3

1.0

0.0

1.0

0.0

1.0

0.0

0.0

0.0

:4

-3.0

0.0

-1.0

0.0

-1.0

0.0

0.0

1.0

:5

0.0

1.0

-1.0

0.0

0.0

1.0

-1.0

1.0

:6

0.0

-3.0

1.0

0.0

0.0

-1.0

-1.0

0.0

:7

0.0

0.0

0.0

1.0

-1.0

-1.0

0.0

2.0

:8

0.0

0.0

0.0

-3.0

1.0

1.0

CONDWI = F Искусственное расширение CONDWI = 6

 

 

 

 

Зондируемые решения

 

 

N\J

1

2

3

4

5

6

 

 

:1

0

1

1

1

1

0

 

 

:2

0

1

1

1

1

1

FSN

FBN

 

 

 

 

 

 

 

0.0

86.0

:1

0.0

0.0

1.0

0.0

2.0

1.0

0.0

0.0

:2

4.0

2.0

0.0

1.0

0.0

0.0

0.0

0.0

:3

1.0

0.0

1.0

0.0

1.0

0.0

0.0

0.0

:4

-3.0

0.0

-1.0

0.0

-1.0

0.0

0.0

0.0

:5

0.0

1.0

-1.0

0.0

0.0

1.0

0.0

2.0

:6

0.0

-3.0

1.0

0.0

0.0

-1.0

0.0

1.0

:7

0.0

0.0

0.0

1.0

-1.0

-1.0

0.0

1.0

:8

0.0

0.0

0.0

-3.0

1.0

1.0

Зондируемое решение 2 допустимо и полно

 

Зондируемые решения

 

 

N\J

1

2

3

4

5

6

 

 

:1

0

1

1

1

1

0

FSN

FBN

 

 

 

 

 

 

 

0.0

1.0

:1

0.0

0.0

1.0

0.0

2.0

1.0

0.0

0.0

:2

4.0

2.0

0.0

1.0

0.0

0.0

0.0

0.0

:3

1.0

0.0

1.0

0.0

1.0

0.0

0.0

0.0

:4

-3.0

0.0

-1.0

0.0

-1.0

0.0

0.0

1.0

:5

0.0

1.0

-1.0

0.0

0.0

1.0

0.0

1.0

:6

0.0

-3.0

1.0

0.0

0.0

-1.0

0.0

0.0

:7

0.0

0.0

0.0

1.0

-1.0

-1.0

0.0

2.0

:8

0.0

0.0

0.0

-3.0

1.0

1.0

Зондируемое решение 1 допустимо и полно

FMIN  13.000000

Решение

0

1

1

1

1

0

 

Общий ресурс: 3.00000

Показатель качества: 13.00000

Решение задачи

Ресурс

:

.1.

:

.2.

:

.3.

 

 

0.000

 

2.000

 

1.000

…………………………………………………………………………..

Операция 1

:

0.000

 

0.000

 

4.000

Операция 2

:

0.000

 

4.000

 

0.000

Операция 3

:

0.000

 

5.000

 

0.000

 

Пример 2.

Задано множество подпрограмм L = {1, 2, 3, 4}, реализующих алгоритм, состоящий из 3 операций. Известно, что Sl – объем памяти, занимаемый l-ой подпрограммой:

S1 = 1;  S2 = 2;  S3 = 3;  S4 = 4.

tlm – время реализации l-ой подпрограммы при выполнении m-ой операции.

t21 = t32 = t43 = 1;  t11 = 2;  t22 = 4;  t33 = 5.

Выбрать набор подпрограмм, реализующих данный алгоритм и занимающий наименьший объем памяти так, чтобы время работы алгоритма не превышало 3 ед. времени.

 

подпрограммы (l)

Алгоритм (m )

 

y1 = x1

l1 = 1

y2 = x2

l2 = 2

y3 = x3

l3 = 3

y4 = x4

l4 = 4

y1 = x1

y2 = x2

y3 = x3

y4 = x4

x11 = x5

…….

Оп 1

s1 = 1

t11 = 2

g11 = 1, x5

s2 = 2

t21 = 2

g21 = 1, x8

 

 

Оп 2

 

s2 = 2

t22 = 4

g22 = 1, x6

s3 = 3

t32 = 1

g32 = 1, x9

 

Оп 3

 

 

s3 = 3

t33 = 5

g33 = 1, x7

s4 = 4

t43 = 1

g43 = 1, x10

 

1. N = 1 S1 = {1,2,3,4,5,6,7}; B1 = Æ; d1 = (x1,x2,x3,x4,x5,x6,x7)

B0 = 0

 

 

 

i

Fi(S)

1

2

3

4

5

6

7

Fi(B)

0

1

2

3

4

0

0

0

0

1

–1

1

 

 

 

–1

 

 

0

2

–3

–3

 

 

 

1

 

 

0

3

–1

 

1

 

 

+1

–1

 

1

4

–4

 

–3

 

 

–1

1

 

–1

5

–1

 

 

1

 

 

+1

–1

1

6

–4

 

 

–3

 

 

–1

1

–1

7

0

 

 

 

1

 

 

1

1

8

–4

 

 

 

–3

 

 

–1

–1

9

0

 

 

 

 

1

3

4

0

 

2. A – не выполняется à $ решение

3. S1={1,3,4,5,6,7}; B1={2}; d1 = (x1,0,x3,x4,x5,x6,x7)

    N=2 S2={1,3,4,5,6,7}; B2={2}; d2 = (x,1,x3,x4,x5,x6,x7)

N>0

 

i

Fi(S2)

1

3

4

5

6

7

Fi(B2)

0

 

1

3

4

 

 

 

–2

1

–1

1

 

 

–1

 

 

0

2

–3

–3

 

 

1

 

 

0

3

–1

 

 

 

1

–1

 

0

4

–4

 

 

 

–1

1

 

2

5

–1

 

1

 

 

1

–1

1

6

–4

 

–3

 

 

–1

1

–1

7

0

 

 

1

 

 

1

1

8

–4

 

 

–3

 

 

–1

–1

9

0

 

 

 

1

3

4

0

 

6. А – не выполняется à $ `d2

8. S2 = Æ

10. B выполняетсяà 0 + [a97 = 4] > 0

11. S2 = {1,3,4,5,6}; B2 = {2,7}; d2 = (x,1,0,x3,x4,x5,x6,0)

 

i

Fi(S2)

1

3

4

5

6

Fi(B2)

0

 

1

3

4

 

 

–2

1

–1

1

 

 

–1

 

0

2

–3

–3

 

 

1

 

0

3

–1

 

 

 

1

–1

0

4

–1

 

 

 

–1

1

2

5

–1

 

1

 

 

1

1

6

–4

 

–3

 

 

–1

–1

7

0

 

 

1

 

 

1

8

–3

 

 

–3

 

 

–1

9

0

 

 

 

1

3

0

 

6. А – не выполняется à $ `d2

8. S2 ¹ Æ

10. B выполняетсяà 0 + [a96 = 3] > 0 à x6 = 0

S2 = {1,3,4,5}; B2 = {2,6,7}; d2 = (x,1,x3,x4,x5,0,0)

 

i

Fi(S2)

1

3

4

5

Fi(B2)

0

 

1

3

4

 

–2

1

–1

1

 

 

–1

0

2

–3

–3

 

 

1

0

3

0

 

 

 

1

0

4

–4

 

 

 

–1

2

5

0

 

1

 

 

1

6

–3

 

–3

 

 

–1

7

0

 

 

1

 

1

8

–3

 

 

–3

 

–1

9

0

 

 

 

1

0

 

6. А – не выполняется à $ `d2

8. S2 ¹ Æ

10. B выполняетсяà 0 + [a95 = 1] > 0 à x5 = 0

S2 = {1,3,4}; B2 = {2,5,6,7}; d2 = (x,1,x3,x4,0,0,0)


 

 

i

Fi(S2)

1

3

4

Fi(B2)

0

 

1

3

4

–2

1

0

1

 

 

0

2

–3

–3

 

 

0

3

0

 

 

 

0

4

0

 

 

 

2

5

0

 

1

 

1

6

–3

 

–3

 

–1

7

0

 

 

1

1

8

–3

 

 

–3

–1

9

0

 

 

 

0

 

6. А – не выполняется à $ `d2

8. S2 ¹ Æ

10. B выполняетсяà –3 + [a84 = –3] = 0 >  –1 à x4 = 1

S2 = {1,3}; B2 = {2,4,5,6,7}; d2 = (x,1,x3,1,0,0,0)

 

i

Fi(S2)

1

3

Fi(B2)

0

 

1

3

–6

1

0

1

 

0

2

–3

–3

 

0

3

0

 

 

0

4

0

 

 

2

5

0

 

1

1

6

–3

 

–3

–1

7

0

 

 

0

8

0

 

 

2

9

0

 

 

0

 

6. А – не выполняется à $ `d2

8. S2 ¹ Æ

10. B выполняетсяà –3 + [a63 = –3] = 0 > –1 à x3 = 1

S2 = {1}; B2 = {2,3,4,5,6,7}; d2 = (x,1,1,1,0,0,0)

 

i

Fi(S2)

1

Fi(B2)

0

 

1

–9

1

0

1

0

2

–3

–3

0

3

0

 

0

4

0

 

2

5

0

 

0

6

0

 

2

7

0

 

0

8

0

 

2

9

0

 

0

 

6. А – не выполняется à $ `d2

8. S2 ¹ Æ

10. B выполняетсяà 0 + [a11 = 1] > 0 à x1 = 1

S2 = Æ; B2 = {1,2,3,4,5,6,7}; d2 = (0,1,1,1,0,0,0)

 

i

Fi(S2)

Fi(B2)

0

 

–9

1

0

0

2

0

0

3

0

0

4

0

2

5

0

0

6

0

2

7

0

0

8

0

2

9

0

0

 

6. А – не выполняется à d2 допусимо.

S2 = Æ

b0 = 9 + 0 = 9

R = d2

I = {0,1,2,3,4,5,6,7,8,9}

7. N = 1

4. N>0

6. A – не выполняется à d1 – допустимый

 

i

Fi(S1)

1

3

4

5

6

7

Fi(B1)

0

 

1

3

4

 

 

 

9

1

–1

1

 

 

–1

 

 

0

2

–3

–3

 

 

1

 

 

0

3

–1

 

 

 

1

–1

 

1

4

–4

 

 

 

–1

1

 

–1

5

–1

 

1

 

 

1

–1

1

6

–4

 

–3

 

 

–1

1

–1

7

0

 

 

1

 

 

1

1

8

–4

 

 

–3

 

 

–1

–1

9

0

 

 

 

1

3

4

0

8. S1 ¹ Æ

10. B выполняетсяà –1 + [a45 = –1] = 0 > –1à x5 = 1

11. S1 = {1,3,4,6,7} B1={2,5}

d1 = (x1,0,x3,x4,1,x6,x7)


 

 

I

Fi(S1)

1

3

4

6

7

Fi(B1)

0

 

1

3

4

 

 

9

1

0

1

 

 

 

 

1

2

–3

–3

 

 

 

 

–1

3

–1

 

 

 

–1

 

0

4

0

 

 

 

1

 

0

5

–1

 

1

 

1

–1

1

6

–4

 

–3

 

–1

1

–1

7

0

 

 

1

 

1

1

8

–4

 

 

–3

 

–1

–1

9

0

 

 

 

3

4

–1

 

6. А выполняется.

(i = 9; 0 = F9(S1) > F9(B1) = –1) à d1 недопустимо

7. N = 0

4. N > 0

min S = 9

R = d2 = (0 1 1 1 0 0 0)

 

Контрольные вопросы для организации проверки усвоения изучаемого материала

Построить модель задачи о планировании производства.(Dantzig G.B. 1951г.)

 

Построить модель задачи о загрузке станков.( Dantzig G.B. 1951г.)

 

Построить модель задачи о транспортных перевозках.(Hitchcock F.L. 1941г. Koopmans T.G. 1947г.)

 

Построить модель задачи о максимальном потоке в сети с ограниченными пропускными способностями каналов. (Ford L.R., Fulkerson P.R. 1962 г.)

 

Построить модель задачи о ранце.

 

Построить модель задачи о назначениях. (Konig D. 1912 г.)

 

Построить модель задачи о кратчайшем маршруте в сети. (Floud R. 1962 г.)

 

Построить модель задачи о замене оборудования.

 

Построить модель задачи распределения дополнительных ресурсов. (Bellman R. 1960 г.)

 

Геометрическая интерпретация задачи линейного программирования.

 

Доказать справедливость табличного алгоритма замены базисных переменных при решении задач линейного программирования симплекс-методом.

 

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

 

Описать алгоритм решения транспортной задачи методом потенциалов.

 

Обосновать алгоритм задачи распределения ресурсов методом динамического программирования.

 

Построить модель полного времени обработки информации для n независимых процессов. (Johnson S.M. 1954г.)

 

Обосновать алгоритм Джонсона (Johnson S.M.1954г.) и обобщить его на трехэтапные работы.

 

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

 

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

 

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

 

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

 

Описать алгоритм оптимального размещения файлов на внешнем носителе.

 

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

 

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

Контрольные вопросы для организации
проверки усвоения изучаемого материала.
РК1 (6 неделя), РК2 (12 неделя).

Согласовать дополнительные ресурсы между четырьмя функциональными подсистемами. Известна зависимость T(X,N) - эффективность N-oй функциональной подсистемы, если ей выделено
 X - ресурсов. Считать целевую функцию ceпapaбeльнoй.

 

Задана топология сети и длина маршрута из состояния i в состояние  j - T(i,j). (1 – источник, 8 – адресат). Найти кратчайший маршрут из каждого пункта сети до адресата и определить длину этого маршрута. а) сеть ациклическая, б) сеть общего вида Т(i,j)=T(j,i).

 

Заданы топология и пропускные способности каналов замкнутой информационной сети T(i,j). Найти максимальный поток и минимальное сечение для пары источник - адресат (1 – источник,
 8 – адресат).

 

Для сети ЭВМ перераспределить вычислительные ресурсы, если известны потери С(i,j), связанные с функционированием i-го ресурса в j-ом узле.

 

Разработано 5 вариантов изделия, которое будет функционировать в двух различных условиях. Известна эффективность функционирования каждого варианта в любом из этих условий c(i,j).

Какому варианту следует отдать предпочтение, если изделие уникальное?

Какие варианты следует тиражировать, если решено выпустить партию изделий?

Рекомендовать стратегию применения этих вариантов.

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

 

Процесс обработки информации состоит из трех последовательных операций, которым последовательно подвергаются 8 различных массивов. Известно Aij - время выполнения операции i над массивом j. Минимизировать время процесса обработки информации.

 

Задано 3 процедуры, с помощью которых можно полностью реализовать алгоритм, состоящий из 3 операций. Известны
T(i,j)
- время реализации i-ой процедурой j-ой операции,
S(i)
- объем занимаемой памяти i-oй процедурой, S - объем занимаемой памяти выбранным набором процедур. Bыбpaть такой набор процедур, который минимизирует время выполнения алгоритма при ограничениях на объем занимаемой памяти.

 

ЛИТЕРАТУРА

 

Вагнер Г. Основы исследования операций. М. «Мир» 1972 г.
(в трех томах).

Венцель Е.С. Исследование операций. М. «Советское радио»
1972 г.

Вильсон А.Дж. Энтропийные методы моделирования сложных систем. М. «Наука» 1978 г.

Ниесов В.А. Задача рационального расположения массивов информации на магнитной ленте. “Кибернетика” № 4 1968 г.

Саати Т.Л. Математические методы исследования операций. М. «Воениздат» 1963 г.

Танаев В.С., Шкуба В.В. Введение в историю расписаний. «Наука» 1971 г.

Balas E., An Additive Algorithm for Solving Linear Programs with Zero-One Variables. Operation Research 13. (1965) 517-546.

Bellman R. Combinatorial processes and dynamic programming.Proc. of Sympos. in Appl. Math vol X.1960 217-249.

Floyd R. Algorithm 97, Shortest Path. Communication of the ASM 5.345 (1962).

Ford L.R., Fulkerson D.R. Flows in Networks, Princezon Univ. Press, 1962.

Hoffman A.J. Markowitz H.M. A Note of Shortest Path Assignment and Transportation Problems. Naval Research Logistic Quarterly 10 375-379 (1963).

Hu T.C. Revised Matrix Algorithms for Shortest Parts SIAM J. on Appl. Math 15 207-218 (1967).

Johnson S.M. Optimal two and three stage production schedules with set-up times included. Nav. Res. Log. Quart. 1 №1 (1954) 61-68.

Raimond J.F. An Algorithm for the exact Solution of the Machine Scheduling Problem. JBM New York Scientific Center. Rep. 320-2925, Jan 1968.

Smith W.E., Various optimizers for single stage production. “Navel Research Logistics Quat. v3 № 1-2 1956, 59-66.



Hosted by uCoz