Автор работы: Пользователь скрыл имя, 10 Декабря 2013 в 21:20, курсовая работа
60 лет назад, задача о максимальном потоке решалась simplex методом линейного программирования, что было крайне не эффективно. Форд и Фалкресон предложили рассматривать для решения этой задачи ориентированную сеть и искать решение с помощью итерационного алгоритма. В течение 20 лет, все передовые достижения в исследовании данной задачи базировались на их методе. В 1970г. наш соотечественник, Диниц, предложил решать задачу с использованием вспомогательных бесконтурных сетей и псевдомаксимальных потоков, что намного увеличило быстродействие разрабатываемых алгоритмов. А в 1974 Карзанов улучшил метод Диница, введя такое понятие как предпоток.
Введение
Задание
постановка задачи
формирование математической модели
Метод решения
Анализ и исследование результата
Выводы
Использованная литература
Текст программы с комментариями
Государственное бюджетное образовательное учреждение
высшего профессионального образования Московской области
Международный университет природы, общества и человека «Дубна»
филиал «Угреша»
Филиал «Угреша»
Кафедра информационных систем и технологий
КУРСОВАЯ РАБОТА (ПРОЕКТ)
ПО
Математическим
методам оптимизации и
(наименование учебной дисциплины)
ТЕМА: ______Сетевой анализ проектов. Метод PERT_______________
____3___ курса
Савченко Виктория Олеговна
Эдуард Дмитриевич
Дата защиты: «_____»__________20__ г.
Государственное бюджетное образовательное учреждение
высшего профессионального образования Московской области
Международный университет природы, общества и человека «Дубна»
филиал «Угреша»
Кафедра: Информационные системы и технологии
Дисциплина: математические методы оптимизации и системного анализа
ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ
Студент: Савченко Виктория Олеговна
Научный руководитель: доцент Соловьев Эдуард Дмитриевич
ТЕМА: Сетевой анализ проектов. Метод PERT
утверждена на заседании кафедры «____»__________20___г. протокол № ______
Целевая установка: написать программу в среде VBA
Основные вопросы, подлежащие разработке:
1. Построение сетевой модели.
2. Разработка программы ранжирования и расчета временных параметров сетевой модели в среде VBA.
3. Расчет времени выполнения проекта с вероятностью 0,88.
Основная литература:
Государственное бюджетное образовательное учреждение
высшего профессионального образования Московской области
«Международный университет природы, общества и человека «Дубна»
(Филиал «Угреша»)
Студент: Савченко Виктория Олеговна
Группа: ИС-10
Тема курсовой работы: Сетевой анализ проектов. Метод PERT
№ п/п |
Критерии оценки |
Оценка научного руководителя |
1. |
Соответствие содержания курсовой работы/курсового проекта утвержденной теме |
|
2. |
Выполнение поставленных целей и задач |
|
3. |
Освоение приемов работы с оборудованием и методов исследования |
|
4. |
Освоение теоретического материала при работе над курсовой работой/курсовым проектом |
|
5. |
Оформление студентом курсовой работы |
Оценка работы: ______________________________
Руководитель: __Соловьев Эдуард Дмитриевич____________________
(фамилия, имя, отчество)
(дата)
Оглавление
Введение
60 лет назад, задача о максимальном потоке решалась simplex методом линейного программирования, что было крайне не эффективно. Форд и Фалкресон предложили рассматривать для решения этой задачи ориентированную сеть и искать решение с помощью итерационного алгоритма. В течение 20 лет, все передовые достижения в исследовании данной задачи базировались на их методе. В 1970г. наш соотечественник, Диниц, предложил решать задачу с использованием вспомогательных бесконтурных сетей и псевдомаксимальных потоков, что намного увеличило быстродействие разрабатываемых алгоритмов. А в 1974 Карзанов улучшил метод Диница, введя такое понятие как предпоток. Алгоритмы Диница и Карзанова, как и исследования Форда и Фалкерсона, внесли огромный вклад в решение данной проблемы.
В нашей курсовой работе, мы рассмотрим и реализуем на языке программирования Visual Basic Applications алгоритм решения задачи о максимальном потоке, предложенный Фордом и Фалкерсоном.
Постановка задачи
Работа |
Пред. Работа |
t0 |
t1 |
V |
- |
4 |
9 |
W |
V |
6 |
10 |
Z |
W |
5 |
7 |
U |
Z,Y |
2 |
5 |
X |
V |
3 |
8 |
Y |
X,N |
4 |
12 |
S |
- |
6 |
9 |
N |
S |
4 |
7 |
C |
- |
5 |
11 |
D |
S |
7 |
9 |
R |
S |
8 |
12 |
Q |
R,A |
2 |
7 |
K |
Q,B |
3 |
6 |
L |
C |
4 |
5 |
A |
C |
1 |
8 |
B |
L |
5 |
9 |
Формирование математической модели
W (5,6) Z (4,4)
V (4,2) X (3,4) Y (4,8)
S(5,4) D(6)
C(5,2)
L (3,4) B (4,8)
Пути:
Пятый путь – критический
Тож мы считаем по формуле :
Дисперсию и квадрат из дисперсии мы считаем по формулам :
;
;
Метод решения
PERT- Program Evaluation and Review Technique.
Метод оценки и обзора программ предназначен:
Шаги:
Анализ и исследование результата
Выводы:
В проделанной нами работе была создана программа, которая при нажатии на кнопку:
-производит ранжирование с
- рассчитывает значение критического пути;
-рассчитывает значение tож для каждой работы;
-выделяет критический путь на сетевой модели;
-рассчитывает значение
-рассчитывает время выполнения проекта с вероятностью 0,88.
Использованная литература
Текст программы с комментариями
'функция поиска максимального значения
Function Max(ParamArray avValues() As Variant) As Single
Dim x As Long, vThisItem As Single
For x = 0 To UBound(avValues)
vThisItem = avValues(x)
If vThisItem > Max Then Max = vThisItem
Next
End Function
Private Sub Command1_Click()
' объявление переменных
Dim Tv As Single, TK As Single, TK1 As Single 'объявление переменных для расчета критического путя и времени при определенной вероятности
Dim TOV, TOW, TOZ, TOU, TOX, TOY, TOS, TON, TOC, TOD, TOR, TOQ, TOK, TOL, TOA, TOB As Single 'объявление переменных tожидания для каждой работы
Dim Vt0, Vt1, Wt0, Wt1, Zt0, Zt1, Ut0, Ut1, Xt0, Xt1, Yt0, Yt1, St0, St1, Nt0, Nt1, Ct0, Ct1, Dt0, Dt1, Rt0, Rt1, Qt0, Qt1, Kt0, Kt1, Lt0, Lt1, At0, At1, Bt0, Bt1 As Single 'объявление переменных для t0 и t1
Dim DV, DW, DZ, DU, DX, DY, DS, DN, DC, DD, DR, DQ, DK, DL, DA, DB, D, D1 As Single 'объявление переменных для расчета значения дисперсии
Dim i, z, k As Integer 'переменные, используемые в циклах
Dim w(10), v(10) As Single 'объявление двух массивов
Dim H0, HA, HB, HC, HD, HE, HF, HG, HH, HI, HK As Single ' переменные для хранения значения ранга для каждой работы
Dim Y0 As Integer
'заносим в переменные
Vt0 = CSng(Text1(0).Text) 'работа V
Wt0 = CSng(Text1(1).Text) 'работа w
Zt0 = CSng(Text1(2).Text) 'работа Z
Ut0 = CSng(Text1(41).Text) 'работа U
Xt0 = CSng(Text1(40).Text) 'работа X
Yt0 = CSng(Text1(39).Text) 'работа Y
St0 = CSng(Text1(38).Text) 'работа S
Nt0 = CSng(Text1(37).Text) 'работа N
Ct0 = CSng(Text1(36).Text) 'работа C
Dt0 = CSng(Text1(35).Text) 'работа D
Rt0 = CSng(Text1(34).Text) 'работа R
Qt0 = CSng(Text1(33).Text) 'работа Q
Kt0 = CSng(Text1(32).Text) 'работа K
Lt0 = CSng(Text1(31).Text) 'работа L
At0 = CSng(Text1(30).Text) 'работа A
Bt0 = CSng(Text2.Text) 'работа B
'заносим в переменные значения t1 для каждой работы
Vt1 = CSng(Text1(29).Text) 'работа V
Wt1 = CSng(Text1(28).Text) 'работа w
Zt1 = CSng(Text1(27).Text) 'работа Z
Ut1 = CSng(Text1(26).Text) 'работа U