Форум программистов, компьютерный форум, киберфорум
GPSS
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
1 / 1 / 1
Регистрация: 04.05.2013
Сообщений: 47
1

Моделирование банковских вкладов

12.11.2015, 21:49. Показов 834. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток, уважаемые форумчане!

Прошу помощи, хотя-бы в словесном алгоритме, попытаюсь на его основе что-нибудь написать.
Задача по имитационному моделированию в экономике:

Смоделировать ситуацию открытия 1000 вкладов, дождаться их закрытия.
Посчитать общую сумму по начисленным процентам для клиентов.

Исходные данные:
1) Интервалы времени между поступлениями владов от клиентов 3 часа (+/- 2 часа);
2) Клиенты вносят на банковский вклад от 500 до 1500 рублей.
3) Клиенты закрывают свои вклады и снимают все денежные средства
в среднем через 375 дней после открытия вклада (+/- 100 дней).
4) Банк начисляет процент (0,1 % от первоначальной суммы вклада за 10 дней).
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.11.2015, 21:49
Ответы с готовыми решениями:

Обновление вкладов в PageControl
Подскажите как можно решить вот такой вопрос. Есть PageControl несколько вкладок. Количество их...

Калькулятор вкладов в Excel
Доброго дня суток! Может у кого-то есть опыт создания калькуляторов в Экселе. Требуется создать...

Таблицы. Расчет процентов вкладов
дан список людей 26 человек и для каждого(!!!) нужно высчитать проценты по вкладу и итоговую сумму...

Задача по подсчету процентов и продолжительности вкладов
Помогите решить а то уже пол дня мучаюсь))) Начальный вклад в банке равен 1000 руб. Через каждый...

5
1816 / 1030 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
12.11.2015, 23:24 2
Добрый день.
Общая идея на самом деле не сложная, всё в лоб просто.
Можете посмотреть примеры из книги Кудрявцев имитационное моделирование на GPSS

Код
GENERATE ВКЛАДЫ 3,2,,1000
ASSIGN SUMMA,(DUNIFORM(500,1500))
ASSIGN DNEI,DUNIFORM ОТ 275 ДО 475
ADVANCE p$dnei#24ЧАСА 
SAVEVALUE BANK+,0.1 ПРОЦЕНТ ОТ p$summa КАЖДЫЕ 10 ДНЕЙ 
TERMINATE 1
START 1000
1
1 / 1 / 1
Регистрация: 04.05.2013
Сообщений: 47
13.11.2015, 10:26  [ТС] 3
Dukalys, спасибо за алгоритм, максимально приближенный к коду.
Вот, что накидал, в комментариях, задал пару вопросов
Код
GENERATE 3,2,,1000;
ASSIGN SUMMA,(DUNIFORM(1,500,1500)); создаем переменную SUMMA кладем в нее случ. число от 500 до 1500
ASSIGN DNEI,(DUNIFORM(2,275,475));  создаем переменную DNEI кладем в нее случ. число от 275 до 475
ADVANCE P$DNEI,1; делаем задержку вклада на количество дней в переменной DNEI (+/- 1 день) почему у вас часовой формат 24???
SAVEVALUE BANK+,((P$DNEI/10)#(0.1#P$SUMMA)); в переменную BANK складываем наши проценты 0.1 от SUMMA, каждые 10 дней
TERMINATE 1;
START 1000;
Может быть в ASSIGN DNEI нужно использовать часы ?

У меня такое ощущение, что идет несоответствие дней и часов в коде:
Отчет:
Код

              GPSS World Simulation Report - Untitled Model 1.27.1


                   Friday, November 13, 2015 10:17:41  

           START TIME           END TIME  BLOCKS  FACILITIES  STORAGES
                0.000           3379.071     6        0          0


              NAME                       VALUE  
          BANK                        10002.000
          DNEI                        10001.000
          SUMMA                       10000.000


 LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY
                    1    GENERATE          1000             0       0
                    2    ASSIGN            1000             0       0
                    3    ASSIGN            1000             0       0
                    4    ADVANCE           1000             0       0
                    5    SAVEVALUE         1000             0       0
                    6    TERMINATE         1000             0       0


SAVEVALUE               RETRY       VALUE
 BANK                     0    3728532.640
0
1816 / 1030 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
13.11.2015, 10:32 4
почему у вас часовой формат 24???
Нужно принять единую величину времени и работать с ней во всей модели
здесь часы GENERATE 3,2,,1000;

создаем переменную SUMMA
Правильней называть это не переменной, а параметром. дело в том что у каждой заявки-клиента будет индивидуальное значение этого параметра, а переменная в нашем понимании это нечто общее для всей программы.

в переменную BANK
Это в GPSS называется сохраняемой величиной - по идее да похоже на понятную нам переменную, но чтобы изменилась значение этой "переменной" нужно чтобы прошла через неё заявка.

А переменные в GPSS это VARIABLE. в которых задаётся формула. При вызове переменной, например V$name происходит расчёт по формуле её текущего значения.

Ну и последнее меня смущает зачем дан интервал времени 3+-2 часа между заходящими если они всё равно минимум на 270 дней застревают в системе, почему сразу 1000 не пустить в нулевой момент времени и разруливать .... какое-то непонятное приближение к реальности
0
1 / 1 / 1
Регистрация: 04.05.2013
Сообщений: 47
13.11.2015, 10:55  [ТС] 5
Dukalys,
попытался все перевести в часы:
Код
GENERATE 3,2,,1000;
ASSIGN SUMMA,(DUNIFORM(1,500,1500)); создаем параметр SUMMA кладем в нее случ. число от 500 до 1500
ASSIGN DNEI,(DUNIFORM(2,275#24,475#24));  параметр DNEI задаем так, чтобы были тоже часы
ADVANCE P$DNEI,0; делаем задержку вклада на количество ЧАСОВ в параметре DNEI (0 означает что разброса нет?)
SAVEVALUE BANK+,((P$DNEI/240)#(0.1#P$SUMMA)); в BANK складываем проценты 0.1 от SUMMA, каждые 10дн. (240 часов)
TERMINATE 1;
START 1000;
Отчет остался практически таким же:
Код

              GPSS World Simulation Report - Untitled Model 1.30.1


                   Friday, November 13, 2015 10:45:23  

           START TIME           END TIME  BLOCKS  FACILITIES  STORAGES
                0.000          14275.151     6        0          0


              NAME                       VALUE  
          BANK                        10002.000
          DNEI                        10001.000
          SUMMA                       10000.000


 LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY
                    1    GENERATE          1000             0       0
                    2    ASSIGN            1000             0       0
                    3    ASSIGN            1000             0       0
                    4    ADVANCE           1000             0       0
                    5    SAVEVALUE         1000             0       0
                    6    TERMINATE         1000             0       0


SAVEVALUE               RETRY       VALUE
 BANK                     0    3728787.017
Цитата Сообщение от Dukalys Посмотреть сообщение
Ну и последнее меня смущает зачем дан интервал времени 3+-2 часа между заходящими если они всё равно минимум на 270 дней застревают в системе, почему сразу 1000
В реальности вклады одновременно невозможно открыть (моделируется ситуация по региону), что каждые 3 часа +/- 2 часа, приходят клиенты в разные филиалы банка и открывают вклад. Так как банк один, считается общий процент по нему.

Цитата Сообщение от Dukalys Посмотреть сообщение
почему сразу 1000 не пустить в нулевой момент времени и разруливать
Как это сделать?
Код
GENERATE 1000;
Так?
0
1816 / 1030 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
13.11.2015, 12:17 6
Как это сделать?
GENARATE A,B,C,D
D - ограничение на количество заявок

Если A B С оставить пустыми(не пробелами!) то момент времени 0 имеется ввиду.
0
13.11.2015, 12:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.11.2015, 12:17
Помогаю со студенческими работами здесь

Распечатать суммы вкладов через 5 лет
помогите пожалуйста: В файл данных занесены исходные суммы вкладов 5 вкладчиков, положенные под 3%...

Какова будет совокупная величина вкладов к началу 3-го года?
3) Пусть в конце каждого квартала в банк вкладывается по 1500 руб. Какова будет совокупная...

Вычислить суммы вкладов клиентов банка на конец года
Вычислить суммы вкладов клиентов банка на конец года. Все вкладчики банка получают <Премию>> в...

Класс Банк. Метод для вычисление общей суммы вкладов
У меня есть класс банк, и я не знаю как подсчитать сумму вкладов. Есть 3 челика и у кажого есть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru