
>Текущаяконтрольнаямодель:Examples\EnterpriseLibraryTutorialModels\Ban
k Department9-Activity-basedcosting.alp.
II Методические указания для самостоятельной работы
Самостоятельная работа студентов по дисциплине « Автоматизированные банковские системы» организуется в следующих формах.
1. Самостоятельное изучение теоретического материала по темам и разделам дисциплины. При подготовке к семинарским занятиям, выполнении практических работ необходимо пользоваться конспектом лекций (учебным пособием), входящим в учебно-методический комплекс дисциплины, рекомендованной литературой основного и дополнительного списков, которая включает научные труды ведущих специалистов, ученых и практиков (монографии, учебники, учебные пособия). Для подбора литературы используются каталоги научной библиотеки университета, методического кабинета экономического факультета, Красноярской краевой научной библиотеки, ресурсы сети Интернет. В библиотеках имеются указатели литературы по различным темам, систематические и алфавитные каталоги, библиографические справочники.
При изучении теоретического материала по темам и разделам дисциплины необходимо использовать нормативные правовые акты (Кодексы, Законы Российской Федерации и ее субъектов, Указы Президента, Постановления Правительства, Постановления органов местного самоуправления, приказы, письма, телеграммы, методические указания и рекомендации отраслевых министерств и ведомств), публикации периодической печати. Источником официальных публикаций нормативных документов федерального уровня является «Российская газета», правовых актов Красноярского края – газета «Красноярский рабочий», нормативных актов органов местного самоуправления г.Красноярска – газета «Городские новости». При поиске правовой литературы студент должен использовать информационно-справочные системы, такие как «КонсультантПлюс», «Гарант» и т.п. Помимо прочего, информационно-справочные системы содержат тематически сгруппированные аннотации и подборки статей, официальные и профессиональные комментарии нормативных актов.
При изучении литературы необходимо уделять особое внимание изучению всех вопросов, входящих в программу курса, а также подготовке ответов на контрольные вопросы к семинарским занятиям, которые приводятся в данном пособии.
2. Составление имитационной агентной модели жизненного цикла банковского продукта и проведение расчетов с использованием этой модели. Эта часть работы осуществляется студентами с целью более детального (углубленного) изучения проблемных аспектов отдельных тем дисциплины. В данном пособии приводятся методические указания по построению имитационных моделейраспространения банковских продуктов во внешней среде и их выполнению. По итогам проделанной работы студент составляет отчет о составе моделей и результатах моделирования.
86
1. Модельжизненногоциклапродукта
Вэтом
учебномпособиимысоздадиммодельжизненногоциклапродукта.Модель
описываетпроцессраспространения
продукта.Изначальнопродуктникомуне
известен,идлятого,чтобылюдиначалиегоприобретать,онрекламируется.В
итогеопределенная
долялюдейприобретаетпродуктподвоздействиемрекламы.
Такжелюдиприобретают продуктврезультатеобщениястеми,ктоэтотпродукт ужеприобрел.
1.1Созданиеновогопроекта
Вначалемысоздадимновыйпроектдл
ямодели.
►Создайте
новыйпроект
1.ЩелкнитемышьюпокнопкепанелиинструментовСоздать .
ПоявитсядиалоговоеокноНовыйПроект.
2.ЩелкнитемышьюпокнопкеВыбрать…и выберитедиректорию,в которой ВыбудетехранитьфайлыВашегопроекта.
3.Укажитеимяновогопроекта.ВведитеProductLifeCyc leв поле редактированияИмяпроекта.
4.ЩелкнитемышьюпокнопкеOK.
87
Новыйпроектсоздан.Выувидитеструктурнуюдиаграммувцентрерабочейо бласти
AnyLogicTM,окноПроект– в левойпанели,и окноСвойства—вправой.
88

Приработеспроектом,незабывайтесохранятьегоспомощьюкнопкипанели инструментовСохранить .
1.2 Созданиеагентов
Первымшагомприсозданииагентноймоделиявляетсясоздание агентов.Агент являетсяосновнымстроительным блокомагентноймодели.Агентнаямодель состоитизмножестваагентовиихокружения. Длякаждогоагентазадаетсянабор правил,согласнокоторымонвзаимодействует сдругимиагентами;это взаимодействиеиопределяетобщее поведениесистемы.Внашей моделиагентами будутлюди.
ВAnyLogicTMдлясозданияагентовВамбудетнужновначалесоздатькласс активногообъекта,которыйбудетзадаватьвнутреннюю структуруагента,азатем создатьнеобходимое количествоэкземпляровэтогокласса,каждыйизкоторых будетпредставлятьотдельногоагентамодели.
89

►Создайтеклассактивногообъекта
1.Чтобысоздатьновыйкласс,щелкнитемышьюпокноп кепанели инструментовНовыйклассактивногообъекта
.
2.ВпоявившемсядиалоговомокнезадайтеИмяновогокласса:Person.
АвтоматическипоявитсяокноструктурнойдиаграммыклассаP
erson.
Теперь,когдаВысоздаликласс,которыйбудетзадаватьструктуруагента,можн о добавить агентоввмодель. Длятогочтобыдобавить агентоввмодель, нужно простодобавитьобъекткласса,задающего структуру агента(Person),вкласс, моделирующийокружениеагентов(Main).
►Добавьтеагентовв модель
1.ОткройтеструктурнуюдиаграммуклассаMain,сделавдвойной щелчок мышьюпоэлементуMainв окнеПроект.
2.ПеретащитемышьюклассPersonизокнаПроектнаструктурнуюд
иаграмму классаMain.
3.Назовитеобъектpeople.
4.Задайтеколичествочеловекв нашеймодели.На вкладкеКоличествоокна СвойствазадайтеКоличествообъектов:1000.Автоматическибудетсоз дано1000 экземпляровклассаPerson,каждыйизкоторыхбудетпредставлять отдельногоагента.
1.3Заданиехарактеристикагента
90
Характеристики агента задаются с помощью параметров класса. Все агенты обладаютобщейструктурой,посколькувсеонизадаютсяобъектамиодногокла сса.
91
Параметрыже позволяютзадаватьхарактеристикииндивидуальнодля каждого агента.
►Задайтеподверженностьчеловекавлияниюрекламы
1.ОткройтеструктурнуюдиаграммуклассаPerson,сделавдвойнойщелчо к мышьюпоэлементуPersonв окнеПроект.
2.ВокнеСвойства,щелкнитемышьюпокнопкеНовыйпараметр…
.В появившемсядиалоговомокнеПараметр,задайтесвойствапараме тра.
3.Изменитеимяпараметра.ВполеИмявведитеAd_Effectiveness.
4.Задайтезначениепараметра.Введите0.011в полеПо умолчанию.
92

5.Выможетезадатькраткоеописаниепараметрав полеОписание.Введите текст,которыйпоможетобъяснитьсмыслпараметратем,ктонезнакомс моделью.
Новыйпараметрбудетдобавленв таблицуПараметры.
93

►Задайтесреднегодовоеколичествовстреччеловека
6.АналогичносоздайтепараметрContact_Rate.
7.Предположим,чточеловекв среднемвстречаетсясо100людьмив год.
Введитев полередактированияПо умолчанию100.
Задайтесилуубеждениячеловека,влияющуюнато,скольколюдейонсможет убедитьв необходимостикупитьпродукт.
►Задайтесилуубеждениячеловека
1.СоздайтепараметрAdoption_Fraction.
2.Задайтезначение0.015.
94

95

►Создайтевспомогательныепеременные
1.ОткройтеструктурнуюдиаграммуклассаPerson,сделавдвойнойще лчок мышьюпоэлементуPersonв окнеПроект.
2.ЩелкнитемышьюпокнопкепанелиинструментовПеременная ,а затем щелкнитеподиаграммекласса.На диаграммепоявитсяголубойкружок, обозначающийпеременную.
КогдаВыпоместитеэлементнаструктурную диаграмму, этотэлемент будетсчитатьсявыбранным,иВысможетеизменитьсвойстваэлем
ента |
вокнеСвойства.Вдальнейшем |
дляизменениясвойствэлементанужно
будетвначалещелчкоммышивыделитьегонадиаграммеиливокн
е
П
р
о
е
к
т
.
3.Изменитеимяпеременной.ВокнеСвойства,введитеmode lв поле редактированияИмя.
4.ЗадайтеТиппеременной:Main.
Main– этокласскорневогообъектанашеймодели.
5.ЗадайтеНачальноезначение:
96

Этапеременнаяпонадобитсянам,чтобыупроститьдоступкокружению (объектуклассаMain)изкодаобъектов,моделирующихагентов.
97

6.АналогичносоздайтепеременнуюisAdopter:
С помощьюэтойпеременноймы будемопределять,являетсялиданный человеквладельцемпродукта,илинет.
1.4 Заданиеповеденияагента
Поведение агента задается визуально с помощью стейтчарта (диаграммы состояний).
►Создайтестейтчарт
1.ОткройтеструктурнуюдиаграммуклассаPerson,сделавдвойнойщелчо к мышьюпоэлементуPersonв окнеПроект.
2.ЩелкнитемышьювначалепокнопкепанелиинструментовСтейтчарт ,а затемподиаграмме.На диаграммепоявитсязначокстейтчарта.
98

3.Сделайтедвойнойщелчокмышьюпоэтомузначку.Автоматически
откроетсядиаграммасоследующимстейтчартом:
4.ВокнеСвойства,задайтеновоеИмястейтчарта:adoption.
5.Щелкнитемышьюпосостояниюstate,нажмитеF2ипереименуйте
состояниев PotentialAdopter.Этоначальноесостояние,о чем свидетельствуетуказательначальногосостояния,направленныйв это состояние.Еслистейтчартбудетнаходитьсяв этомсостоянии,тоэтобудет означать,чтоэтотчеловекещенекупилпродукт.
99

6.Нарисуйтеследующийстейтчарт:
7.Добавьтеещеодносостояние,щелкнувмышьювначалепокнопкепанели инструментовСостояние ,а потомподиаграммеподсостоянием PotentialAdopter.НазовитеегоAdopter.Еслистейтчартбудетнаходить ся в этомсостоянии,этобудетозначать,чтоэтотчеловекужекупилпродукт.
8.ДобавьтепереходизсостоянияPotentialAdopterв состояниеAdopter.
ДляэтогощелкнитемышьюпокнопкепанелиинструментовПереход ,затемщелкнитевначалепограницеверхнегосостояния,а затемпогранице нижнего.Этотпереходбудетмоделироватьпокупкупродукта.
100

9.ВокнеСвойства,выберитеПо таймауту извыпадающегоспискаПроисходит
изадайтеТаймаут:
Время,черезкотороечеловеккупитпродукт,экспоненциальнозависитот эффективностирекламыпродукта.
Помимофункцииэкспоненциальногораспределенияexpon ential(), AnyLogicTMпредоставляет функциии других случайных распределений,такихкакнормальное,равномерное,треуголь ноеит.д. Детальное описание функций и их параметров Вы найдете в РуководствепользователяилиСправочнике классов(нужносмотретьметоды классаFunc).ЧтобыоткрытьСправочникклассовили
Руководство пользователя AnyLogicTM, выберите соответствующие пункты меню
С
п
р
а
в
к
а
.
101
1.5 Подсчетпотребителейпродукта
Главнаязадачамоделираспространенияпродукта–изучениетого,какбыстро люди покупаютновыйпродукт.Поэтомусейчасмыдобавим возможность отслеживаниятого,скольколюдейужекупилопродукт,асколько–ещенет.Мы будем подсчитыватьчислопотребителей ипотенциальных потребителей
продуктас помощьюспециальносозданныхпеременных.
102

►Создайтедвепеременные
1.ОткройтеструктурнуюдиаграммуклассаMain,сделавдвойнойщелчок мышьюпоэлементуMainв окнеПроект.
2.Создайтепеременнуюadopters.
3.Создайтепеременнуюpotential_adopters.
►Изменитестейтчарт
1.Откройтедиаграммустейтчарта,сделавдвойнойщелчокмышьюпо элементуstatechartв окнеПроект.
2.ЩелкнитемышьюпосостояниюPotentialAdopter.ВокнеСвойс
тва, задайтеДействиепри входев состояние иДействиепри
выходеизэтого состояния:
103

Привходевсостояниемы будемувеличиватьнаединицузначение переменной,подсчитывающейколичествопотенциальныхпотребителей продукта.Привыходеизсостояниямы будемуменьшатьзначениеэтой переменной.Длятогочтобыподтвердитьпроизведенноеизменение,мы вызываемфункциюsetModified()объекта,моделирующегоокружение. Крометого,мы изменяемзначениепеременнойisAdopter,чтобы показать,купиллиэтотчеловекнашпродукт(еслида,тозначение переменнойравноtrue,еслинет,тоfalse).
3.АналогичнозадайтесвойствасостоянияAdopter:
104

105

1.6 Конфигурированиемодели
Вы можете сконфигурироватьвыполнениемоделив соответствиис Вашими требованиями. Модель выполняетсяв соответствиис набором установок, называемымэкспериментом.Выможетесоздатьнесколькоэкспериментов иизменять рабочуюконфигурациюмодели,простоменяятекущийэкспериментмодели.
В дереве рабочего проекта эксперименты отображаются под элементом
Экспе
римен ты.
Одинэксперимент,названныйSimulation,создаетсяавтоматически.
Это простойэксперимент,позволяющий отображатьанимациюи запускать модельсоткалиброваннымизначениямипараметров.Существую ти другиетипыэкспериментов(оптимизационныйэксперимент,
эксперимент дляварьированияпараметров),используемые
втехслучаях,когда |
параметрымодели |
играютсущественнуюроль,и |
требуется |
проанализировать,каконивлияютнаповедениемодели,иликогда
нужнонайтиоптимальныезначенияпараметровмодели
.
Еслимысейчасзапустиммодель,тоона будетработатьбесконечно.Посколькумы хотимнаблюдать поведениемоделитолько тогда, когда происходитпроцесс распространенияпродукта,намнужноостановитьмодель,когдасистемапридетв точкуравновесия.Посколькуподединицей модельноговременимыбудем пониматьодингод,апроцессраспространенияпродуктавэтоймоделидлится примерно 8 лет, то нам нужно будет остановить модель после 8 единиц модельноговремени.
106
►Задайтеостановмодели
1.ВокнеПроект,щелкнитемышьюпоэкспериментуSimulation.
107