Порядок выполнения лабораторной работы. Запустите AnyLogic (Пуск/Все программы/ AnyLogic 5.4.1)
Запустите AnyLogic (Пуск/Все программы/ AnyLogic 5.4.1). В стартовом окне среды разработки проекта нажмите кнопку Создать проект.
Присвойте проекту имя Gorod. Все имена объектов должны набираться только в латинице.
В результате на панели проектов появится проект и корневой объект Main.
Переименуйте корневой объект Main в объект Model в окне Свойства проекта.
Далее создайте активный объект Population (Население).
Активный объект Население (Population)
Для создания активного объекта на инструментальной панели нажмите кнопку Новый класс активного объекта ( ). В окне Свойства введите имя объекта Population. Имя активного объекта должно начинаться с заглавной буквы.
В результате получим пустой Активный объект с именем Population.
Вначале определите параметры активного объекта Population.
В окне Свойства нажмите кнопку Новый параметр ( ). В диалоговом окне Параметр задайте имя, тип и значение по умолчанию.
Создайте простой параметр с именем im, определяющий среднее значение потока иммиграции.
Создайте простой параметр с именем em, определяющий среднее значение потока эмиграции.
Создайте параметр с именем r, определяющий среднюю интенсивность рождаемости.
Создайте параметр с именем st, определяющий среднее время жизни человека в городе.
Создайте параметр с именем f, характеризующий средний размер семьи.
Создайте параметр с именем pi, определяющий начальное количество населения (популяции).
В результате в окне Свойства объекта Population получим список объявленных параметров.
Далее создайте табличную функцию с именем tfattr. Функция экспертно задает коэффициент привлекательности города в зависимости от заселенности. Для этого на инструментальной панели нажмите на кнопку Новая табличная функция ( ). В диалоговом окне Новая табличная функция задайте имя и класс активного объекта. Обратите внимание, табличная функция приписана к объекту Population (gorod.Population).
В окне проектов это отобразится соответствующим образом.
В окне Свойства введите аргумент и значение самой функции.
В окне Свойства табличной функции tfattr нажмите на кнопку График…
и в разделе Интерполяция/аппроксимация выберите режим Сплайн-интерполяция. В разделе Если аргумент выходит за пределы выберите режим Использовать ближайший корректный.
Создайте структурную диаграмму компонента модели. Общий вид потоковой диаграммы приведен ниже.
Уравнения, которые будут связывать переменные компонента модели, приведены ниже.
Создайте переменную N - численность населения, которая будет являться накопителем. Для этого на инструментальной панели выберите объект Переменная
и поместите его в структурную диаграмму объекта Population. В окне Свойства переменной введите имя N, определите тип Скаляр и формат числа real. В разделе Уравнение Вид выберите Интеграл или накопитель, в качестве подинтегрального выражения введите R+Im-D-Em. Начальное значение равно pi.
На структурной диаграмме объекта Population это отобразится, как показано ниже.
Аналогичным образом создайте переменную R, определяющую поток рождаемости.
Создайте переменную D, определяющую поток смертности.
Создайте переменную Im, определяющую поток иммиграции.
Создайте переменную Em, определяющую поток эмиграции.
Создайте переменную Hattr, определяющую привлекательность города для иммиграции с точки зрения жилья.
Создайте переменную RN, определяющую темп изменения численности населения.
Далее создайте входную переменную активного объекта с именем Н, определяющую количество квартир (частных домов) в городе. Для этого переменную поместите награницуобластиактивногообъекта слева.
В окне Свойства переменной введите имя, выберите формат числа real, в поле Направление выберите Входная переменная.
Аналогичным образом создайте выходную переменную активного объекта с именем Z, определяющую заселенность города.
В результате структурная диаграмма объекта Population примет следующий вид
Активный объект Нouse (Жилищный сектор)
Для создания активного объекта на инструментальной панели нажмите кнопку Новый класс активного объекта ( ). В окне Свойства введите имя объекта House. Имя активного объекта должно начинаться с заглавной буквы.
В результате получим пустой Активный объект с именем House.
Вначале определите параметры активного объекта House.
В окне Свойства активного объекта нажмите кнопку Новый параметр ( ). В диалоговом окне Параметр задайте имя, тип и значение по умолчанию. Создайте простой параметр с именем area, определяющий общую площадь земли.
Создайте параметр с именем ah, определяющий среднее значение площади земли под домом (квартирой).
Создайте параметр с именем rs, определяющий коэффициент строительства нового жилья.
Создайте параметр с именем rd, определяющий коэффициент сноса ветхого жилья.
Создайте параметр с именем hi, определяющий начальное количество домов (квартир).
В результате в окне Свойства объекта House получим список объявленных параметров.
Далее создайте табличную функцию с именем tfa. Функция экспертно задает влияние доли свободной земли под застройку на темп строительства нового жилья. Для этого на инструментальной панели нажмите на кнопку Новая табличная функция ( ). В диалоговом окне Новая табличная функция задайте имя и класс активного объекта. Обратите внимание, табличная функция приписана к объекту House (gorod.House).
В окне Свойства введите аргумент и значение самой функции.
В окне Свойства табличной функции tfa нажмите на кнопку График…
и в разделе Интерполяция/аппроксимация выберите режим Сплайн-интерполяция. В разделе Если аргумент выходит за пределы выберите режим Использовать ближайший корректный.
Аналогично создайте табличную функцию tfz, которая экспертно учитывает влияние перенаселения на темп нового строительства жилья.
Выполните настройку графика функции аналогично табличной функции tfa.
Окно проекта будет выглядеть следующим образом.
Далее создайте структурную диаграмму компонента модели House. Общий вид потоковой диаграммы будет выглядеть, как показано ниже.
Уравнения, которые будут связывать переменные компонента модели, приведены ниже.
Создайте переменную H - численность домов (квартир), которая будет являться накопителем. В окне Свойства переменной введем имя H, определите тип Скаляр и формат числа real. В разделе Уравнение Вид выберите Интеграл или накопитель, в качестве подинтегрального выражения введите R-D. Начальное значение равно hi.
Аналогичным образом создайте переменную R, определяющую поток строительства нового жилья.
Создайте переменную D, определяющую поток сноса ветхого жилья.
Создайте переменную SZ, учитывающую заселенность в строительстве нового жилья.
Создайте переменную S, определяющую интенсивность строительства.
Создайте переменную RA, определяющую долю свободной земли.
Создайте переменную SA, учитывающую свободную площадь в строительстве нового жилья.
Создайте входную переменную активного объекта с именем Z, определяющую заселенность.
Создайте выходную переменную с именем HOut, определяющую количество квартир (домов) в городе.
В результате структурная диаграмма объекта House примет следующий вид.
Корневой объект Model
Создайте параметры корневого объекта.
Создайте параметр с именем area
Создайте параметр с именем ah
Создайте параметр с именем rs
Создайте параметр с именем rd
Создайте параметр с именем im
Создайте параметр с именем em
Создайте параметр с именем r
Создайте параметр с именем st
Создайте параметр с именем f
Создайте параметр с именем hi
Создайте параметр с именем pi
В результате в окне Свойства объекта Model получим список объявленных параметров уровня модели.
Создайте структурную диаграмму корневого объекта Model. Для этого перейдите на вкладку Model.
Перетащите объект Population в структурную диаграмму объекта Model.
Объект Population отобразится в структурной диаграмме объекта Model в виде закрашенного прямоугольника с именем population (обратите внимание, что имя автоматически получило наименование population с маленькой буквы)
Повторите операцию для объекта House.
С помощью инструмента Соединитель
соедините входные и выходные порты объектов. Наведите перекрестие соединителя на выходной порт объекта population
и выполните один Click мышки. Укажите перекрестием на входной порт другого объекта и выполните двойной Click (закончить соединение).
В результате появится связь между двумя объектами
Соедините следующие два порта аналогичным образом. Поворот линии связи выполняется одним Click в точке поворота.
Создайте таймер остановки модели. Для этого нажмите на кнопку Таймер
В окне Свойства объекта Таймер выполните настройки, как показано ниже.
Создайте анимацию модели
Для этого нажмите на кнопку Новая анимация
Настройте окно анимации как показано ниже. Обратите внимание, что анимация приписана к объекту Model.
В результате будет создана пустая анимация.
Справа расположите два прямоугольника, которые будут задавать области вывода для диаграмм. Для этого на инструментальной панели выберите объект Прямоугольник ( ) и перенесите его на анимационную диаграмму. Присвойте объекту имя rec1. Аналогичным образом создайте объект rec2.
Далее в окне проекта перейдите на вкладку Библиотеки
и выберите библиотеку Business Graphics Library
Перенесите в структурную диаграмму Model объект barChar. Выполните настройки, как показано ниже.
В качестве данных определите переменные R, D, Im и Em
Перенесите в структурную диаграмму Model объект chartTime. Выполните настройки, как показано ниже.
В качестве данных определите переменные N и RA
Запустите модель на исполнение ( ). На анимационной диаграмме будем наблюдать динамику изменения потоков рождаемости, смертности, иммиграции и эмиграции населения, а также численность популяции и доли занятой земли.