Автор работы: Пользователь скрыл имя, 17 Ноября 2013 в 06:52, курсовая работа
Задачи курсового проекта: Разработать алгоритм для решения поставленных задач, составить программу для реализации поставленных задач.
Актуальность темы. Анализ сетевой модели, представленной в графической или табличной (матричной) форме, позволяет:
Более четко выявить взаимосвязи этапов реализации проекта;
Определить наиболее оптимальный порядок выполнения этих этапов в целях, например, сокращения сроков выполнения всего комплекса работ.
Введение
2
1 Теоретическая часть
3
Основные определения
3
Построение сетевой модели
4
Оптимизация сетевой модели
7
2 Практическая часть
12
2.1 Алгоритм решения задач вручную
12
2.2 Алгоритм решения задач на ЭВМ
12
2.3 Решение задач
13
Заключение
18
Список литературы
В 1 графе поставим число Кпр, характеризующее количество работ, непосредственно предшествующих событию, с которого начинается рассматриваемая работа.
Для работ, начинающихся с номера «1», предшествующих работ нет. Для работы, начинающейся на номер «k», просматриваются все верхние строчки второй графы таблицы и отыскиваются строки, оканчивающиеся на этот номер. Количество найденных работ записывается во все строчки, начинающиеся с номера «k». Например, для работы (5,8) в графе 1 поставим цифру 2, так как в графе 2 на номер 5 оканчиваются две работы: (2,5) и (4,5).
Заполнение таблицы начинается с расчета раннего срока начала работ. Для работ, имеющих цифру «ноль» в первой графе, в графе 4 также заносятся нули, а их значение в графе 5 получается в результате суммирования граф 3 и 4. В нашем случае таких работ только одна — (1, 2), поэтому в графе 4 в соответствующей ей строке проставим 0, а в графе 5 — 0 + 6 = 6.
Для заполнения следующих строк графы 4, т. е. строк, начинающихся с номера 2, просматриваются заполненные строки графы 5, содержащие работы, которые оканчиваются на этот номер, и максимальное значение переносится в графу 4 обрабатываемых строк. В данном случае такая работа лишь одна (1, 2), о чем можно судить по графе 1. Цифру 6 из графы 5 переносим в графу 4 для всех работ, начинающихся с номера 2, т. е. в три последующие строки с номерами (2, 3), (2, 4), (2, 5). Далее для каждой из этих работ путем суммирования их значений графы 3 и 4 сформируем значение графы 5:
tpo(2.3) = 5 + 6 =11
tpo(2.4) = 3 + 6 = 9
Этот процесс повторяется до тех пор, пока не будет заполнена последняя строка таблицы.
Графы 7 и 6 заполняются «обратным ходом», т. е. снизу вверх. Для этого просматриваются строки, оканчивающиеся на номер последнего события, и из графы 5 выбирается максимальная величина, которая записывается в графу 7 по всем строчкам, оканчивающимся на номер последнего события (см. формулу tn(N) = tp(N)). В нашем случае t(N) = 33. Затем для этих строчек находится содержимое графы 6 как разность между графами 7 и 3:
tpo(10.11) = 33 - 9 = 24.
Далее просматриваются строки, оканчивающиеся на номер события, которое непосредственно предшествует завершающему событию (10). Для определения графы 7 этих строк (работы (5,10), (7,10), (8,10), (9,10)) просматриваются все строчки графы 6, лежащие ниже и начинающиеся с номера 10.
В графе 6 среди них выбирается минимальная величина, которая переносится в графу 7 по обрабатываемым строчкам. В нашем случае она одна — (10,11), поэтому заносим во все строки указанных работ цифру «24». Процесс повторяется до тех пор, пока не будут заполнены все строки по графы 6 и 7.
Содержимое графы 8 равно разности граф 6 и 4 или граф 7 и 5 . Графу 9 проще получить, воспользовавшись формулой.
Учитывая, что нулевой резерв времени имеют только события и работы, которые принадлежат критическому пути, получаем, что критическим является путь
LKp = (1,2,4,5,10,11), а tкр = 33 дня
Для оптимизации сетевой модели, выражающейся в перераспределении ресурсов с ненапряженных работ на критические для ускорения их выполнения, необходимо как можно более точно оценить степень трудности своевременного выполнения всех работ, а также «цепочек» пути. Более точным инструментом решения этой задачи по сравнению с полным резервом является коэффициент напряженности, который может быть вычислен одним из двух способов по приводимой ниже формуле:
KH=(i,j)= t (Lmax)-tkp /tkp - tkp`= 1- Rn - Rn (i,j)/ tkp - tkp`
где t(L max) — продолжительность максимального пути, проходящего через работу (i,j), tkp`— продолжительность отрезка рассматриваемого пути, совпадающего с критическим путем.
Коэффициент напряженности изменяется от нуля до единицы, причем, чем он ближе к единице, тем сложнее выполнить данную работу в установленный срок. Самыми напряженными являются работы критического пути, для которых он равен 1. На основе этого коэффициента все работы СМ могут быть разделены на три группы:
• напряженные (KH(i,j) > 0,8);
• под критические (0,6 < KH(i,j) < 0,8);
• резервные ( KH (i,j) < 0,6).
В результате перераспределения ресурсов стараются максимально уменьшить общую продолжительность работ, что возможно при переводе всех работ в первую группу.
При расчете этих показателей целесообразно пользоваться графиком СМ. Итак, для работ критического пути (1,2), (2,4), (4,5),(5,10),(10,11) Kн=1.
Для других работ:
В соответствии с результатами вычислений Кн для остальных работ, которые представлены в последней графе таблицы 1, можно утверждать, что оптимизация СМ возможна в основном за счет двух резервных работ: (6,11) и (2,5).
2 Практическая часть
2.1 Алгоритм решения задач вручную
2.2 Алгоритм решения задач на ЭВМ
Краткий алгоритм решения задачи на ЭВМ приведён на рисунке 1.
1. Нанесение на форму приложения компонентов и кнопок.
2. Написание
процедуры для кнопки «
2.1. Создание цикла для черчения таблицы.
2.2 . Заполнение заголовков таблицы.
2.3. Применение стилей оформления к таблице.
2.4. Применение шрифтов к заголовкам.
2.5. Вывод сообщений с дальнейшими действиями.
2.6. Установка свойств для кнопок.
3. Написание
процедуры для кнопки «Решение»
3.1. Создание цикла для подсчёта столбца 5.
3.2. Создание цикла для подсчёта столбца 6.
3.3. Создание цикла для подсчёта столбца 7.
3.4. Создание цикла для подсчёта столбца 8.
3.5. Вывод сообщений с дальнейшими действиями.
3.6. Установка свойств для кнопок.
4. Написание процедуры для кнопки «Очистка».
4.1. Создание цикла для удаления таблицы.
4.2. Очистка формы от лишних данных.
4.3. Установка свойств для кнопок.
5. Тестирование и отладка программы.
Общая блок схема
Решение задач
Постановка задачи 1. Кондитерская фабрика решила освоить новый вид продукции подарочный набор шоколадных конфет «Юбилейный». В состав входят шесть видов шоколадных конфет. Данные для производства набора «Юбилейный» приведены в таблице 1. Рассчитать временные параметры и поместить результат вычислений в таблицу.
Таблица 1 – Исходные данные
Операция |
Наименование работы |
Непосредственно предшествующие работы |
Продолжительность дней |
А |
Разработка производства конфет первого вида |
14 | |
Б |
Разработка производства конфет второго вида |
8 | |
В |
Разработка производства конфет третьего вида |
16 | |
Г |
Разработка производства конфет четвёртого вида |
10 | |
Д |
Разработка производства конфет пятого вида |
12 | |
Е |
Разработка производства конфет шестого вида |
14 | |
Ж |
Разработка эскиза коробки |
20 | |
З |
Передача технологических документов в производство |
А |
2 |
И |
Тоже |
Б |
2 |
К |
Тоже |
В |
2 |
Л |
Тоже |
Г |
2 |
М |
Тоже |
Д |
2 |
Н |
Тоже |
Е |
2 |
О |
Оформление заказа на изготовление коробки |
Ж |
2 |
П |
Производство конфет первого вида |
З |
8 |
Р |
Производство конфет второго вида |
И |
10 |
С |
Производство конфет третьего вида |
К |
10 |
Т |
Производство конфет четвёртого вида |
Л |
12 |
У |
Производство конфет пятого вида |
М |
8 |
Ф |
Производство конфет шестого вида |
Н |
12 |
Ц |
Производство коробок |
О |
6 |
Ч |
Комплектация наборов конфет |
П – Ф |
6 |
Ш |
Доставка коробок |
Ц |
1 |
Э |
Передача на упаковку |
Ч |
2 |
Ю |
Тоже |
Ш |
1 |
Я |
Упаковка наборов конфет |
Э, Я |
1 |
Рисунок 1 – Сеть
S |
А |
Б |
В |
Г |
Д |
Е |
Ж |
А – З |
Б – И |
В – К |
Г – Л |
Д – М |
Е – Н |
О – Ж |
З – П |
И – Р |
T |
14 |
8 |
16 |
10 |
12 |
14 |
20 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
8 |
10 |
К – С |
Л – Т |
М – У |
Н – Ф |
О – Ц |
П – Ч |
Р – Ч |
С – Ч |
Т – Ч |
У – Ч |
Ф – Ч |
Ц – Ш |
Ч – Э |
10 |
12 |
8 |
12 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
1 |
2 |
Ш – Ю |
Э – Я |
Ю – Я |
1 |
1 |
1 |
MIN = 19
MAX = 9
Таблица 2 – Оптимизация сетевой модели при помощи таблицы
Кпр |
(i,j) |
t(i,j) |
tpн(i,j)= tp |
tpo(i,j) |
tnн(i,j) |
tno(i,j)= tn |
Rn |
Rн |
1 |
2 |
3 |
4 |
5=4+3 |
6=7-3 |
7 |
8 |
9 |
1 |
а |
14 |
0 |
14 |
67 |
71 |
67 |
0 |
0 |
б |
8 |
14 |
22 |
61 |
69 |
57 |
0 |
1 |
в |
16 |
22 |
38 |
53 |
69 |
31 |
0 |
1 |
г |
10 |
32 |
42 |
57 |
67 |
25 |
0 |
1 |
д |
12 |
44 |
56 |
59 |
71 |
15 |
0 |
1 |
е |
14 |
58 |
72 |
53 |
67 |
5 |
0 |
1 |
ж |
20 |
78 |
98 |
61 |
81 |
17 |
0 |
1 |
а – з |
2 |
0 |
2 |
71 |
73 |
71 |
0 |
0 |
б – и |
2 |
14 |
16 |
69 |
71 |
57 |
0 |
1 |
в – к |
2 |
22 |
24 |
69 |
71 |
47 |
0 |
1 |
г – л |
2 |
32 |
34 |
67 |
69 |
35 |
0 |
1 |
д – м |
2 |
44 |
43 |
71 |
73 |
27 |
0 |
1 |
е – н |
2 |
58 |
60 |
67 |
69 |
9 |
0 |
1 |
о – ж |
2 |
80 |
82 |
79 |
81 |
1 |
0 |
1 |
з – п |
8 |
2 |
10 |
73 |
81 |
71 |
0 |
1 |
и – р |
10 |
16 |
26 |
71 |
81 |
55 |
0 |
1 |
к – с |
10 |
24 |
34 |
71 |
81 |
47 |
0 |
1 |
л – т |
12 |
34 |
46 |
69 |
81 |
35 |
0 |
1 |
м – у |
8 |
48 |
56 |
73 |
81 |
25 |
0 |
1 |
н – ф |
12 |
60 |
72 |
69 |
81 |
9 |
0 |
1 |
о – ц |
6 |
80 |
86 |
81 |
87 |
1 |
0 |
1 |
п – ч |
6 |
10 |
12 |
81 |
87 |
71 |
0 |
1 |
р – ч |
6 |
26 |
32 |
81 |
87 |
55 |
0 |
1 |
с – ч |
6 |
34 |
40 |
81 |
87 |
47 |
0 |
1 |
т – ч |
6 |
46 |
52 |
81 |
87 |
35 |
0 |
1 |
у – ч |
6 |
56 |
62 |
81 |
87 |
25 |
46 |
1 |
ф – ч |
6 |
72 |
78 |
81 |
87 |
9 |
36 |
1 |
ц – ш |
1 |
86 |
87 |
87 |
88 |
1 |
26 |
0 |
ч – э |
2 |
62 |
64 |
87 |
89 |
25 |
16 |
1 |
ш – ю |
1 |
87 |
88 |
88 |
89 |
1 |
0 |
1 |
э – я |
1 |
64 |
65 |
89 |
90 |
25 |
0 |
1 |
ю – я |
1 |
89 |
90 |
89 |
90 |
0 |
0 |