Автор работы: Пользователь скрыл имя, 17 Ноября 2013 в 06:52, курсовая работа
Задачи курсового проекта: Разработать алгоритм для решения поставленных задач, составить программу для реализации поставленных задач.
Актуальность темы. Анализ сетевой модели, представленной в графической или табличной (матричной) форме, позволяет:
Более четко выявить взаимосвязи этапов реализации проекта;
Определить наиболее оптимальный порядок выполнения этих этапов в целях, например, сокращения сроков выполнения всего комплекса работ.
Введение
2
1 Теоретическая часть
3
Основные определения
3
Построение сетевой модели
4
Оптимизация сетевой модели
7
2 Практическая часть
12
2.1 Алгоритм решения задач вручную
12
2.2 Алгоритм решения задач на ЭВМ
12
2.3 Решение задач
13
Заключение
18
Список литературы
Постановка задачи 2. Проложить водопроводные трубы между девятью объектами кратчайшим путём (в экономическом смысле). Объект 0 - водопроводная башня. Данные приведены на рисунке 2, где на рёбрах графа – стоимость работ по прокладке водопровода на данном участке (ребре).
Введём следующие обозначения Cij – стоимость работ по прокладке водопровода между объектами i и j. Oj – минимальная стоимость работ, от объекта 0 до объекта j, то есть Q0 = 0. Тогда Oj = min (Oi+Cij).
Рисунок 2 – Сеть.
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