Файл: Вдовин Суркова Валентинов Теория систем и системный анализ.pdf
Добавлен: 12.02.2019
Просмотров: 22624
Скачиваний: 340
600
601
Рис. 3.89. Ввод данных по различным оценкам задач (работ)
•
получается случайное число и определяется, какое зна-
чение приняла случайная величина — производительность вы-
полнения работы (задачи);
•
определяется объем выполнения работы для текущего
шага моделирования.
4. На каждом шаге моделирования проверяется соответствие
выполненного объема работ заданному. При равенстве работ
процесс моделирования заканчивается.
Для решения задачи имитации хода реализации бизнес-
процесса необходимо разработать макросы, осуществляющие:
моделирование времени реализации процесса; моделирование
линейки (в программе обозначается линией черного цвета) и ее
перемещения в зависимости от скорости выполнения работы.
Решение задач хода реализации бизнес-процесса на основе
имитационного моделирования осуществляется с использовани-
ем инструментов VBA в последовательности:
1. Открыть файл проекта “Иммодел”.
2. Выполнить операцию “Сервис” — “Макрос” — “VBA”.
3. Сформировать форму и модуль управления формой.
4. Для удобства управления программой в режиме имитаци-
онного моделирования разработать новое меню “Ход проекта”.
5. Разработать код формы. В коде формы предусматрива-
ются следующие основные операции:
•
моделирование случайного числа, подчиненного закону
равной вероятности на интервале 0–1;
•
моделирование времени;
•
моделирование динамки выполнения работ(задач).
Программный код моделирования динамики работ проекта
имеет вид
Private Sub CommandButton3_Click()
Dim ТначМ As Double, ТначЧ As Double, Тнач As Double
Dim ТекЧ As Double, ТекМ As Double, ТекПР As Double,
пп As Double
Dim MyValue, CLS As Double
Randomize
tpr = TextBox1: sag = TextBox2: m = TextBox3
600
601
Рис. 3.89.
Ввод данных по различным оценкам задач (работ)
•получается случайное число и определяется, какое зна-
чение приняла случайная величина — производительность вы-
полнения работы (задачи);
• определяется объем выполнения работы для текущего
шага моделирования.
4. На каждом шаге моделирования проверяется соответствие
выполненного объема работ заданному. При равенстве работ
процесс моделирования заканчивается.
Для решения задачи имитации хода реализации бизнес-
процесса необходимо разработать макросы, осуществляющие:
моделирование времени реализации процесса; моделирование
линейки (в программе обозначается линией черного цвета) и ее
перемещения в зависимости от скорости выполнения работы.
Решение задач хода реализации бизнес-процесса на основе
имитационного моделирования осуществляется с использовани-
ем инструментов VBA в последовательности:
1. Открыть файл проекта “Иммодел”.
2. Выполнить операцию “Сервис” — “Макрос” — “VBA”.
3. Сформировать форму и модуль управления формой.
4. Для удобства управления программой в режиме имитаци-
онного моделирования разработать новое меню “Ход проекта”.
5. Разработать код формы. В коде формы предусматрива-
ются следующие основные операции:
•моделирование случайного числа, подчиненного закону
равной вероятности на интервале 0–1;
•моделирование времени;
•моделирование динамки выполнения работ(задач).
Программный код моделирования динамики работ проекта
имеет вид
Private Sub CommandButton3_Click()
Dim ТначМ As Double, ТначЧ As Double, Тнач As Double
Dim ТекЧ As Double, ТекМ As Double, ТекПР As Double,
пп As Double
Dim MyValue, CLS As Double
Randomize
tpr = TextBox1: sag = TextBox2: m = TextBox3
602
603
а = TextBox4: б = TextBox5: с = TextBox6: д = TextBox7
n = tpr / sag ‘Количество шагов имитации процесса
For i = 1 To m ‘Количество работ(задач)
ТЕКВР = Now
пт = 0
For j = 1 To n
CLS = Int((10000) * Rnd) / 10000
пр=-(1/с)*Ln(CLS)
пт = пт + пр* sag’ Процент выполнения заданного объе-
ма работы(задачи)
If j = 1 Then
пп = 0
Else
пп = TextBox8
End If
ТначМ = Minute(Time): ТначЧ = Hour(Time) * 60: Тнач
= (ТначЧ + ТначМ) + пп
Do
ТекМ = Minute(Time): ТекЧ = Hour(Time) * 60: ТекПР =
ТекЧ + ТекМ
If ТекПР = Тнач Then Exit Do’Выход из цикла осуществля-
ется через интервалы времени кратные интервалу вывода ре-
зультатов
Loop
If m = 1 Then
k = а
Else
k = i
End If
SelectRow Row:=k, RowRelative:=False
SetTaskField Field:=”% завершения”, Value:=пт,
AllSelectedTasks:=True’ Передача данных о процентах выпол-
ненной работы в поле диаграммы Ганта
Next j
Next i
End Sub
Private Sub TextBox1_Change() 'Ввод периода модели-
рования
End Sub
Private Sub TextBox2_Change() 'Ввод шага моделирова-
ния
End Sub
Private Sub TextBox3_Change() 'Ввод количества работ
(задач)
End Sub
Private Sub TextBox4_Change() ‘Нмер работы (задачи) для
которой моделируется динамика
End Sub
Private Sub TextBox5_Change() 'Время начала работы
(задачи)
End Sub
Private Sub TextBox6_Change() ‘Производительность(доля
объема работ/шаг моделировпания)
End Sub
Private Sub TextBox7_Change() ‘Объем работ в услов-
ных единицах
End Sub
Private Sub TextBox8_Change()’ Временной интервал
вывода результатов
End Sub
Имитационное моделирование динамики выполнения про-
екта выполняется в такой последовательности:
1. В дополнительном меню “Ход проекта” нажать кнопку
“Ввести данные”.
2. В появившемся диалоговом окне “Имитация хода проек-
та” ввести исходные данные (рис. 3.90). Для условий примера:
период моделирования — 8 сут.; шаг моделирования — 1 сут.;
количество работ, для которых осуществляется имитация дина-
мики, — 1 работа; интервал вывода результата — 1 мин; номер
работы(задачи) — 6; время начала работы — 05.04.07; объем
работ — 800 усл. ед.; производительность выполнения рабо-
ты — 10% в сутки.
602
603
а = TextBox4: б = TextBox5: с = TextBox6: д = TextBox7
n = tpr / sag ‘Количество шагов имитации процесса
For i = 1 To m ‘Количество работ(задач)
ТЕКВР = Now
пт = 0
For j = 1 To n
CLS = Int((10000) * Rnd) / 10000
пр=-(1/с)*Ln(CLS)
пт = пт + пр* sag’ Процент выполнения заданного объе-
ма работы(задачи)
If j = 1 Then
пп = 0
Else
пп = TextBox8
End If
ТначМ = Minute(Time): ТначЧ = Hour(Time) * 60: Тнач
= (ТначЧ + ТначМ) + пп
Do
ТекМ = Minute(Time): ТекЧ = Hour(Time) * 60: ТекПР =
ТекЧ + ТекМ
If ТекПР = Тнач Then Exit Do’Выход из цикла осуществля-
ется через интервалы времени кратные интервалу вывода ре-
зультатов
Loop
If m = 1 Then
k = а
Else
k = i
End If
SelectRow Row:=k, RowRelative:=False
SetTaskField Field:=”% завершения”, Value:=пт,
AllSelectedTasks:=True’ Передача данных о процентах выпол-
ненной работы в поле диаграммы Ганта
Next j
Next i
End Sub
Private Sub TextBox1_Change() 'Ввод периода модели-
рования
End Sub
Private Sub TextBox2_Change() 'Ввод шага моделирова-
ния
End Sub
Private Sub TextBox3_Change() 'Ввод количества работ
(задач)
End Sub
Private Sub TextBox4_Change() ‘Нмер работы (задачи) для
которой моделируется динамика
End Sub
Private Sub TextBox5_Change() 'Время начала работы
(задачи)
End Sub
Private Sub TextBox6_Change() ‘Производительность(доля
объема работ/шаг моделировпания)
End Sub
Private Sub TextBox7_Change() ‘Объем работ в услов-
ных единицах
End Sub
Private Sub TextBox8_Change()’ Временной интервал
вывода результатов
End Sub
Имитационное моделирование динамики выполнения про-
екта выполняется в такой последовательности:
1. В дополнительном меню “Ход проекта” нажать кнопку
“Ввести данные”.
2. В появившемся диалоговом окне “Имитация хода проек-
та” ввести исходные данные (рис. 3.90). Для условий примера:
период моделирования — 8 сут.; шаг моделирования — 1 сут.;
количество работ, для которых осуществляется имитация дина-
мики, — 1 работа; интервал вывода результата — 1 мин; номер
работы(задачи) — 6; время начала работы — 05.04.07; объем
работ — 800 усл. ед.; производительность выполнения рабо-
ты — 10% в сутки.
604
605
Рис. 3.90. Ввод данных для моделирования динамики
выполнения проекта (работа 6)
3. Нажать кнопку “Выполнить моделирование”.
При нажатии кнопки “Выполнить моделирование” будет
запущен макрос
CommandButton3_Click()
и для работы с но-
мером 6 будет выполнено моделирование динамики выполнения
проекта. Линейка хода выполнения работы (выделена черной
утолщенной линией) через интервал времени 1 мин будет из-
менять свою длину (сутки за одну минуту).
Результат моделирования динамики выполнения работ
проекта (для работы 6) показан на рис. 3.91.
Выполнив оценку имитационных задач, решаемых в “Micro-
soft Projeсt”, нетрудно заметить, что для реализации функций
каждой из работ (задач) может быть разработана имитационная
или же аналитическая подмодель. Например, модель принятия
решения, модель основного производства и т. д. При имитации
хода реализации бизнес-процесса каждая из подмоделей вклю-
чается в работу в моменты времени, определенные графиком
процесса. По такому принципу построены многие из программ,
предназначенных для решения задач моделирования экономи-
ческих процессов.
Глава 15. Оптимизационные модели
экономических систем
15.1. Основные понятия оптимизации и классификация методов
решения оптимизационных задач
П
оиск оптимального решения
— нахождение таких усло-
вий организации системы (процесса), при которых достигается
экстремум некоторой функции или функционала. Примерами
оптимизационных задач могут выступать:
•
выбор дороги из дома на работу таким образом, чтобы за-
тратить меньше времени и выполнить определенные условия;
•
определение неизвестных параметров модели, обеспечи-
вающих минимальное отклонение выходных координат, полу-
ченных экспериментальным путем, от рассчитанных по модели.
Это задача идентификации;