Сетевое моделирование

Автор работы: Пользователь скрыл имя, 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 –  Сеть.

    1. 0, 3, 5, 7, 8 = 14
    2. 0, 2, 5, 7, 8 = 16
    3. 0, 1, 4, 6, 5, 7, 8 = 19
    4. 0, 1, 4, 6, 7, 8 = 16
    5. 0, 1, 4, 8 = 8  

MIN = 8

MAX = 19

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Заключение

 

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

А также самостоятельно составил алгоритмы для решения  поставленных задач и составил программу для реализации поставленных задач.

За  это время мне удалось разработать  программу для оптимизации сетевого графика, при помощи табличного редактора Microsoft Excel и среды программирования Visual Basic.  При разработке программы мне удалось, более тесно  познакомится со  средой программирования Visual Basic. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приложение

 


 


 


 


 


 

 

Листинг программы

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


Информация о работе Сетевое моделирование