Сетевое моделирование
Автор работы: Пользователь скрыл имя, 17 Ноября 2013 в 06:52, курсовая работа
Краткое описание
Задачи курсового проекта: Разработать алгоритм для решения поставленных задач, составить программу для реализации поставленных задач.
Актуальность темы. Анализ сетевой модели, представленной в графической или табличной (матричной) форме, позволяет:
Более четко выявить взаимосвязи этапов реализации проекта;
Определить наиболее оптимальный порядок выполнения этих этапов в целях, например, сокращения сроков выполнения всего комплекса работ.
Содержание
Введение
2
1 Теоретическая часть
3
Основные определения
3
Построение сетевой модели
4
Оптимизация сетевой модели
7
2 Практическая часть
12
2.1 Алгоритм решения задач вручную
12
2.2 Алгоритм решения задач на ЭВМ
12
2.3 Решение задач
13
Заключение
18
Список литературы
Вложенные файлы: 1 файл
Курсовой.doc
— 747.50 Кб (Скачать файл)
Постановка задачи 2. Проложить водопроводные трубы между девятью объектами кратчайшим путём (в экономическом смысле). Объект 0 - водопроводная башня. Данные приведены на рисунке 2, где на рёбрах графа – стоимость работ по прокладке водопровода на данном участке (ребре).
Введём следующие обозначения Cij – стоимость работ по прокладке водопровода между объектами i и j. Oj – минимальная стоимость работ, от объекта 0 до объекта j, то есть Q0 = 0. Тогда Oj = min (Oi+Cij).
Рисунок 2 – Сеть.
- 0, 3, 5, 7, 8 = 14
- 0, 2, 5, 7, 8 = 16
- 0, 1, 4, 6, 5, 7, 8 = 19
- 0, 1, 4, 6, 7, 8 = 16
- 0, 1, 4, 8 = 8
MIN = 8
MAX = 19
Заключение
Во время работы над курсовым проектом я: закрепил и систематизировал теоретический материал по дисциплине «Моделирование производственных и экономических процессов», расширил и углубил знания по данной теме, развил самостоятельность при подборе материала и решении поставленных задач.
А также самостоятельно составил алгоритмы для решения поставленных задач и составил программу для реализации поставленных задач.
За
это время мне удалось
Приложение
Листинг программы
Private Sub CommandButton1_Click()
n = Лист1.Cells(1, 4)
For i = 1 To n + 2
For j = 1 To 10
Лист1.Cells(i + 2, j).Borders.LineStyle = 1
Next j
Next i
Лист1.Cells(3, 1) = "K"
Лист1.Cells(3, 2) = "I,J"
Лист1.Cells(3, 4) = "T (I,J)"
Лист1.Cells(3, 5) = "Tph (I,J)"
Лист1.Cells(3, 6) = "Tno"
Лист1.Cells(3, 7) = "Tph"
Лист1.Cells(3, 8) = "Tno"
Лист1.Cells(3, 9) = "Rn"
Лист1.Cells(3, 10) = "Rh"
Лист1.Cells(4, 1) = "1"
Лист1.Cells(4, 2) = "2"
Лист1.Cells(4, 4) = "3"
Лист1.Cells(4, 5) = "4"
Лист1.Cells(4, 6) = "5"
Лист1.Cells(4, 7) = "6"
Лист1.Cells(4, 8) = "7"
Лист1.Cells(4, 9) = "8"
Лист1.Cells(4, 10) = "9"
n = Лист1.Cells(1, 4)
For i = 1 To 2
For j = 1 To 10
Лист1.Cells(i + 2, j).Borders.LineStyle = 12
Лист1.Cells(i + 2, j).Borders.ColorIndex = 7
Лист1.Cells(i + 2, j).Font.ColorIndex = 5
Next j
Next i
Лист1.Cells(11, 13).Font.ColorIndex = 3
Лист1.Cells(11, 13) = "Заполните столбцы 1, 2, 3, 4"
Лист1.Cells(12, 13).Font.ColorIndex = 3
Лист1.Cells(12, 13) = "Столбец 1 заполняется количеством предшествующих работ"
Лист1.Cells(13, 13).Font.ColorIndex = 3
Лист1.Cells(13, 13) = "Столбец 2 заполняется номерами работ"
Лист1.Cells(14, 13).Font.ColorIndex = 3
Лист1.Cells(14, 13) = "Столбец 3 заполняется временем затраченным на данную работу"
Лист1.Cells(15, 13).Font.ColorIndex = 3
Лист1.Cells(15, 13) = "Столбец 4 заполняется максимальным количеством времени на событие I "
CommandButton1.Visible = False
CommandButton2.Visible = True
End Sub
Private Sub CommandButton2_Click()
n = Лист1.Cells(1, 4)
For i = 5 To n + 4
Лист1.Cells(i, 6) = Лист1.Cells(i, 4) + Лист1.Cells(i, 5)
Next i
Лист1.Cells(n + 4, 8) = Лист1.Cells(n + 4, 6)
Лист1.Cells(n + 4, 7) = Лист1.Cells(n + 4, 8) - Лист1.Cells(n + 4, 4)
For i = 1 To n + 3
If Лист1.Cells(n + 4, 3) = Лист1.Cells(i, 3) Then Лист1.Cells(i, 8) = Лист1.Cells(i, 7):Лист1. Cells(j, 6) = Лист1.Cells(i, 7) - Лист1.Cells(i, 3)
Next i
For i = n + 4 To 5 Step -1
For j = 5 To n + 3
If Лист1.Cells(i, 2) = Лист1.Cells(j, 3) Then Лист1.Cells(j, 8) = Лист1.Cells(i, 7): Лист1. Cells(j, 6) = Лист1.Cells(i, 7) - Лист1.Cells(i, 3)
Next i
Next j
n = Лист1.Cells(1, 4)
For i = 5 To n + 4
Лист1.Cells(i, 9) = Лист1.Cells(i, 7) - Лист1.Cells(i, 5)
Next i
Лист1.Cells(11, 13).Font.ColorIndex = 3
Лист1.Cells(11, 13) = "Теперь подсчитаем и заполним столбец 9"
Лист1.Cells(12, 13) = ""
Лист1.Cells(13, 13) = ""
Лист1.Cells(14, 13) = ""
Лист1.Cells(15, 13) = ""
CommandButton2.Visible = False
End Sub
Private Sub CommandButton3_Click()
n = Лист1.Cells(1, 4)
For i = 1 To n + 2
For j = 1 To 10
Лист1.Cells(i + 2, j).Borders.LineStyle = 0
Next j
Next i
Лист1.Cells(3, 1) = ""
Лист1.Cells(3, 2) = ""
Лист1.Cells(3, 4) = ""
Лист1.Cells(3, 5) = ""
Лист1.Cells(3, 6) = ""
Лист1.Cells(3, 7) = ""
Лист1.Cells(3, 8) = ""
Лист1.Cells(3, 9) = ""
Лист1.Cells(3, 10) = ""
Лист1.Cells(4, 1) = ""
Лист1.Cells(4, 2) = ""
Лист1.Cells(4, 4) = ""
Лист1.Cells(4, 5) = ""
Лист1.Cells(4, 6) = ""
Лист1.Cells(4, 7) = ""
Лист1.Cells(4, 8) = ""
Лист1.Cells(4, 9) = ""
Лист1.Cells(4, 10) = ""
Лист1.Cells(11, 13) = ""
Лист1.Cells(12, 13) = ""
Лист1.Cells(13, 13) = ""
Лист1.Cells(14, 13) = ""
Лист1.Cells(15, 13) = ""
CommandButton1.Visible = True
CommandButton2.Visible = False
End Sub