Контрольная работа по "Проектирование АСОиУ"

Автор работы: Пользователь скрыл имя, 20 Ноября 2011 в 18:12, контрольная работа

Описание работы

Информация о проекте задана перечнем работ, их продолжительностью и последовательностью.

Файлы: 1 файл

проектирование(1).docx

— 221.37 Кб (Скачать файл)
lign="justify">       Распределить  семь функциональных задач по сем  центрам обработки информации, если известно время решения каждой задачи в каждом центре обработки (матрица стоимости распределения).

       Математическая  постановка задачи:

  – целевая функция, 

m, n – количество задач и центров обработки соответственно,

; – каждая задача может решаться только в одном центре,

; – каждый центр может обрабатывать не более одной задачи,

 –  матрица решения о распределении  задач по центрам,

 –  матрица стоимости распределения.

       Для решения задачи составить программу  для заполнения матрицы С случайными целыми числами, распределенными по равномерному закону на интервале (26, 34).  

       Решение.

       Текст программы для заполнения матрицы  С случайными целыми числами, распределенными  по равномерному закону на интервале (26, 34).

procedure TForm1.Button1Click(Sender: TObject);

  var i,j: integer;

  begin

      for i:=0 to 6 do

         for j:=0 to 6 do

            StringGrid1.Cells[i,j]:=IntToStr(26+random(34-26));

  end;

 

       Итак,  

       1. В каждом столбце матрицы С найдем минимальный элемент и вычтем его из элементов столбца. 

       В каждой строке матрицы найдем минимальный  элемент и вычтем его из элементов строки. 

       Просматривая  каждый столбец сверху вниз, отметим  первый попавшийся ноль звездочкой. При  этом должно выполняться условие, что  в одной строке не может быть более одного 0* (второе ограничение при постановке задачи оптимизации). Получилась система независимых нулей – начальный (опорный) план.

1 1 0* 5 5 7 4
0* 2 2 4 1 3 0
10 2 6 0* 1 6 3
7 0* 2 0 0 6 0
8 3 6 1 5 0* 6
11 0 2 2 1 1 5
8 6 5 0 5 1 6

       2. Проверим, равно ли число независимых  нулей размерности задачи. Количество независимых нулей – 5 (размерность задачи – 7). Оптимальный план не найден.

       3. Отметим столбцы, содержащие независимые нули плюсиком:

+ + + +   +  
1 1 0* 5 5 7 4
0* 2 2 4 1 3 0
10 2 6 0* 1 6 3
7 0* 2 0 0’ 6 0
8 3 6 1 5 0* 6
11 0 2 2 1 1 5
8 6 5 0 5 1 6

       4. Среди невыделенных элементов  найдем минимальный (h=0).

       5. Выделим ноль, соответствующий h, штрихом. В одной строке с ним есть 0*. Отметим соответствующую строку плюсиком, а со столбца выделение снимем.

+   + +   +    
1 1 0* 5 5 7 4  
0* 2 2 4 1 3 0  
10 2 6 0* 1 6 3  
7 0* 2 0 0’ 6 0 +
8 3 6 1 5 0* 6  
11 0 2 2 1 1 5  
8 6 5 0 5 1 6  

       Повторим  пункты 4 и 5.

+   + +   +    
1 1 0* 5 5 7 4  
0* 2 2 4 1 3 0  
10 2 6 0* 1 6 3  
7 0* 2 0 0’ 6 0 +
8 3 6 1 5 0* 6  
11 0’ 2 2 1 1 5 +
8 6 5 0 5 1 6  

       0* в одной строке с 0’ нет.

       6. Построим цепочку, начиная с  последнего 0’, в которой будут  чередоваться 0* и 0’. Причем, переход  от 0’ к 0* – по столбцу, а  от 0* к 0’ – по строке.

               
1 1 0* 5 5 7 4    
0* 2 2 4 1 3 0  
10 2 6 0* 1 6 3  
7 0* 2 0 0’ 6 0  
8 3 6 1 5 0* 6  
11 0’ 2 2 1 1 5  
8 6 5 0 5 1 6  

       Проведем  замену в цепочке 0’ на 0* и наоборот. Произошло увеличение количества независимых нулей на 1. Выполним проверку оптимальности плана.

               
1 1 0* 5 5 7 4    
0* 2 2 4 1 3 0  
10 2 6 0* 1 6 3  
7 0 2 0 0* 6 0  
8 3 6 1 5 0* 6  
11 0* 2 2 1 1 5  
8 6 5 0 5 1 6  

       7. Проверим, равно ли число независимых  нулей размерности задачи. Количество независимых нулей – 6 (размерность задачи – 7). Оптимальный план не найден.

       8. Отметим столбцы, содержащие независимые  нули плюсиком:

+ + + + + +    
1 1 0* 5 5 7 4    
0* 2 2 4 1 3 0  
10 2 6 0* 1 6 3  
7 0 2 0 0* 6 0  
8 3 6 1 5 0* 6  
11 0* 2 2 1 1 5  
8 6 5 0 5 1 6  
 

       9. Среди невыделенных элементов найдем минимальный (h=0). Выделим ноль, соответствующий h, штрихом (0’). В одной строке с ним есть 0*. Отметим соответствующую строку плюсиком, а со столбца выделение снимем.

  + + + + +    
1 1 0* 5 5 7 4  
0* 2 2 4 1 3 0’ +
10 2 6 0* 1 6 3  
7 0 2 0 0* 6 0  
8 3 6 1 5 0* 6  
11 0* 2 2 1 1 5  
8 6 5 0 5 1 6  
 
 
 
 

       Повторим  пункт 9.

  + + +   +    
1 1 0* 5 5 7 4  
0* 2 2 4 1 3 0’ +
10 2 6 0* 1 6 3  
7 0 2 0 0* 6 0’ +
8 3 6 1 5 0* 6  
11 0* 2 2 1 1 5  
8 6 5 0 5 1 6  

Информация о работе Контрольная работа по "Проектирование АСОиУ"