Дмитрий — 30.06.10
Здравствуйте!
Я только начинаю работать с программой и стоит задача создать
модель интеллектуального здания. Не подскажете с чего начать, так
ка хочется создать модель с помощью которой необходимо
отслеживать все процессы в здании допустим расход
электроэнергии или отопления путем внедрения различных датчиков
температуры и т.п.
Заранее благодарен!
Виктор — 01.07.10
Дмитрий!
Непонятна цель моделирования. Предполагается, что нужно оценить
расход электроэнергии, воды и т. п. людьми, находящимися в здании?
Дмитрий — 05.07.10
Здравствуйте!Оценить экономию после ввода новых датчиков или
оборудования на расход электроэнергии или отопления.Допустим
рабочий день до 6 вечера соответственно в 6 датчики отключают свет
в кабинетах.Или утром народ пришел включил свет, а через какое то
время условно солнце встало и в кабинете и так светло и
автоматика должна отключить свет.Так же и с отоплением помещений.
Виктор — 05.07.10
Дмитрий! Если известно, в какие моменты датчики отключают тот или
иной ресурс, то зачем использовать имитационное моделирование?
Не проще сделать расчёты вручную? На мой взгляд в применении ИМ
был бы смысл, если бы в системе были случайные процессы - например,
агенты (работники), принимающие произвольные решения.
Дмитрий — 05.07.10
Виктор!Есть датчики которые ставятся в помещении и работники
могут сами регулировать допустим температуру батарей и
выставлять или ниже или выше той что подается в батарею.Так и с
электричеством сотрудник может задержаться на работе и хоть
автоматика выключит свет, он может включить чтобы продолжать
работать.В плане электричества еще нужно учитывать внешнее
освещение от окон.
Виктор — 06.07.10
Хорошо. Т. е. задача заключается в сравнении двух сценариев:
расход ресурсов без датчиков и после их установки. При этом нужно
смоделировать поведение людей и реакцию датчиков на внешние
команды. Верно?
Дмитрий — 06.07.10
Все верно Виктор.Ток вот с чего начать создавать модель даже не
знаю.По идеи надо нарисовать какие то помещения (это не проблема),
а вот что дальше пока не разобрался.
Виктор — 06.07.10
Дмитрий!
Любая модель состоит из описания структуры и логики поведения
реального объекта. В вашем случае структурой является набор
помещений, включающих осветительные приборы, системы отопления,
а также датчики. Логика работы системы сводится к перемещению
людей по помещениям, их взаимодействию с ресурсными системами и
датчикам. Кроме того, датчики тоже обладают поведением -
реагируют на внешние события.
Ваша модель должна быть агентной, где агентами являются люди и,
возможно, датчики. Агенты должны двигаться в физическом
пространстве помещений, если это необходимо. Вопрос: необходимо
ли точно рассчитывать расход ресурсов в зависимости от площади
помещения, количества людей в нём, температуры на улице?
Дмитрий — 06.07.10
Спасибо за разъяснения!Да желательно бы это учитывать, но
допускается погрешность примерно до 20%.Бродил по интернету нигде
не встречал подобные модели.Или их никто не делал или никто не
выкладывал.Опять таки вопрос в том как эти параметры учитывать
ведь нужно раскладывать любую систему или модель на условно
примитивный уровень от подачи сигнала или заявки и до конечной ее
обработки.Основная задача стоит в том чтобы посчитать экономию
от введения датчиков и автоматики.
Виктор — 08.07.10
Дмитрий!
Мне подобные модели также не встречались. Однако моделирование
перемещения агентов в физическом пространстве - довольно
популярная тема.
Я не могу знать, насколько подробно вам необходимо учитывать
физические законы при том же отоплении. Возможно, каждое
отдельное помещение можно рассматривать как независимый объект.
Тогда можно грубо рассчитывать то же отопление. Каждое помещение
будет иметь динамику изменения потребления ресурсов. Датчики в
свою очередь будут анализировать окружающую среду в помещении и
менять её согласно заложенному алгоритму. При этом люди-агенты
должны иметь также свои правила поведения, которые бы позволяли
им взаимодействовать с датчиками, источниками ресурсов и
реагировать на изменение условий в помещении.
Дмитрий — 11.07.10
Спасибо за разъяснения.Появилось еще несколько вопросов.
Возможно ли как то показать этажность помещений?И можно ли
отрисовать помещения в 3D, видел где то в примерах в палитре был
пункт, а в демо версии найти не могу?
Виктор — 12.07.10
В двухмерном варианте вы можете прятать и показывать этажи (их
анимацию), переключаться между ними. Посмотрите примеры - в них
часто применяется данный трюк. Трёхмерная анимация доступна в
версии AnyLogic 6.5.
Дмитрий — 12.07.10
Виктор а не подскажете каким образом учесть изменения снаружи и
как добиться того чтобы прибывающие агенты когда им захочется
меняли температуру датчиков в помещении(то есть установить шкалу
температуры допустим от +20 до +30)?
Заранее спасибо!
Виктор — 12.07.10
Вы имеете в виду температуру снаружи помещений? Задайте
переменную для фиксирования температуры, которая будет меняться
в соответствии с каким-то законом. Агенты должны периодически
проверять температуру или реагировать на превышение некоторого
порога - и действовать соответствующим образом, т. е.
взаимодействовать с датчиками.
Дмитрий — 28.07.10
Виктор спасибо за разъяснения!А не подскажете с помощью какой
палитры нужно создавать данную модель, а то никак не соображу с
одной стороны модель агентная, но с другой нужно еще добавлять
различные переменные.Может вопрос покажется глупым, но хотел бы
услышать ваше мнение!
Заранее спасибо!
Виктор — 04.08.10
Дмитрий, судя по вашему описанию, модель будет агентной. В любом
модели AL, вне зависимости от используемого подхода, могут быть
дополнительные переменные, функции да и вообще любые другие
элементы. Вам же может понадобиться буквально любая палитра, за
исключением разве что Системной динамики.
Дмитрий — 04.08.10
Здравствуйте Виктор!
Модель агентную я создал и агенты находятся в помещениях нужное
время.Эта модель работает все хорошо.Потом создал 3
параметра(тепретаруру снаружи, внутри и датчик регулирования
температуры внутри помещения) выбрав из палитры Основная элемент
(Параметр).Не подскажити каким образом эти параметры завязать с
агентами?Пытался в свойствах элементов палитры Pdestrian Library
привязать эти параметры у меня появляются ошибки.Вас бы не мучил
вопросами если бы были похожие модели.
Заранее спасибо!
Виктор — 05.08.10
Дмитрий! Демонстрационный моделей в AnyLogic достаточно. Если я
правильно понял, вы добавили параметры в объект, описывающий
помещение, и теперь хотите, чтобы агенты знали об изменениях
температуры? Для этого не нужно использовать Соединитель. Суть в
том, чтобы программно уведомлять агентов об изменениях. Есть два
способа. Во-первых, можно сделать так, чтобы агенты сами
периодически проверяли значения параметров (ссылаясь на
соответствующий объект помещения) и реагировали соответствующим
образом. Во-вторых, при изменении значения параметра можно
определить код, который сообщал бы значение агентам, находящимся
в помещении, и те бы реагировали каким-то образом. Выбор за вами.
Дмитрий — 09.08.10
Здравствуйте Виктор!
Можете еще раз объяснить каким образом сделать чтобы агенты
проверяли значения параметров? ведь у нас не конкретный объект
(допустим стена)в помещении а параметр с данными.Даже если
создать объект допустим квадрат и его считать датчиком
температуры внутренним(агенты меняют сами температуру в
зависимости от температуры помещения), то как этот квадрат
завязать с температурой снаружи и внутри?
Извините если замучил вас вопросами, но больше обратиться не к
кому
Заранее спасибо!
Виктор — 09.08.10
Дмитрий! Чтобы ответить на ваш вопрос, я должен понять, какая
архитектура вашей модели. Какие объекты вы добавили в модель и
как они связаны?
Дмитрий — 10.08.10
Модель выглядит следующим образом:
Нарисованы с помощью линий помещение.С помощью палитры Pedestrian Library
агенты приходят в здание в конкретное помещение задерживаются
там какое то время и выходят из здания.
Потом я добавил 3 параметра из палитры "Основная" первый
назвал датчиком внутри помещения, 2 параметр имеет имя
температура снаружи а 3 температура внутри.Чтобы агенты понимали
нужно ли менять им температуру внутри с помощью датчика нужно
вычислить разницу температуры снаружи и температуры
внутри.Допустим снаружи температура -15, внутри в помещение
подается температура +30 ,соотвественно агенты смотрят нужно ли
понижать температуру внутри с помощью датчика и выставлять ее
допустим +25 или +20.Так же возможно агенты могут повысить
температуру внутри с помощью датчика и сделать ее не +30 как в
помещении а еще больше допустим +35.
И вот как завязать датчики с агентами пока не разобрался, с
электрикой как то проще все получилось вернее там параметров не
так много.
Виктор — 10.08.10
Если абстрагироваться от назначения вашей модели, то по поводу
технической реализации могу сказать следующее. Как я понимаю,
логика поведения людей у вас описана с помощью потоковой
диаграммы Ped Lib, и находится она в Main. В том же корневом объекте у
вас находятся параметры. Так вот, для того чтобы пешеходы
взаимодействовали с ними, вам в кодовых полях блоков Ped Lib нужно
обращаться к этим параметрам по их имени.
Дмитрий — 29.11.10
Здравствуйте Виктор!
На сайте лежала модель терминала аэропорта и там было
реализовано прибытие самолета.Не подскажете как это все
реализовали?Это группа линий с помощью которых нарисован самолет
или это картинка?Сейчас модели что то не вижу на сайте!
Спасибо!
Виктор — 30.11.10
Дмитрий, модель Airport Terminal находится в разделе
"Бизнес-процессы". Она есть на сайте. Кроме того, в
дистрибутиве AnyLogic 5 она так же представлена. Картинок в модели нет
- всё сделано с помощью базовых графических элементов.
Дмитрий — 30.11.10
Спасибо посмотрю!
Еще вопрос возник по небольшой формуле.
Есть 2 параметра со своими значениями положительными и
отрицательными.После вычисления по формуле( tempob=tempvnutri-tempsnarug)
получается число 40, при получении этого числа нужно чтобы
энилоджик поставил число 18, после всех вычислений получается
число 30.Не подскажете где искать ошибку?Или может в синтаксисе
ошибся?
Вот код который написан:
tempob=tempvnutri-tempsnarug; формула
if (tempob>=40) {tempob=18;} по формуле после вычислений получается 30
и подставляем вместо 40 ,18. То есть расчет получившийся по формуле
должен будет равняться 18 а не 30.
Заранее спасибо!
Дмитрий — 30.11.10
И еще такой момент у меня условий несколько.Когда нету условий
формула работает всегда при каждом изменении значений а если
поставить два условия то формула считает один раз.
Код с двумя условиями:
tempob=tempvn-tempsnar
if (tempob>=35) {tempob=20;}
if (tempob>=30) {tempob=25;}
Не подскажете что делаю не так?Вроде по синтаксису правильно а
почему второй раз пересчет не идет не пойму!
Заранее Спасибо!
Виктор — 01.12.10
Дмитрий, я не понял, где вы задаёте код if. Учтите, что начальные
значения параметров в AL вычисляются в неизвестном порядке.
Поэтому если вы хотите вычислить начальное значение параметра
или переменной на основе начальных значений других параметров,
то делать это в поле начального значения неправильно.
Дмитрий — 01.12.10
код If задаю в PedWait поле действие при входе агентов.
Код с двумя условиями:
tempob=tempvn-tempsnar
if (tempob>=35) {tempob=20;}
if (tempob>=30) {tempob=25;}
вчера уже вечером в принципе добился правильных вычислений но
хотелось бы уточнить в плане правильности моих действий.
Заранее спасибо!
Виктор — 02.12.10
Дмитрий! Честно говоря, так и не понял, в чём у вас сложность.
Отправьте модель в техподдержку XJ.
Дмитрий — 17.01.11
Здравствуйте Виктор!
Решил новых тем не плодить а спросить в этой.
С программой в принципе разобрался но не хватает знаний по
имитационному моделированию, чтобы вы посоветовали почитать для
большего понимания?В сети много чего пишут, но стоящей литературы
я так понял не много.
Заранее спасибо!
Виктор — 25.01.11
Дмитрий, не знаю, каких именно знаний на ваш взгляд вам не хватает.
По имитационному моделированию в целом есть масса книг на
английском языке. Одна из, пожалуй, классических (Simulation Modeling and
Analysis by Averill Law , W. David Kelton) переведена на русский язык (Имитационное
моделирование, Аверилл М. Лоу, В. Дэвид Кельтон). На русском также
есть несколько книг, но в них в основном сделан акцент на язык GPSS и
математический аппарат.
Олеся — 21.12.11
Здраствуйте!Помогите пожалуйста . У меня простое задание: создать
в AnyLogic 6 Discussion модель секундомера, в презентации поместить кнопку
сброс т текст, показвающий секунды. При нажатии на кнопку
секундомер должен сбрасывать показания и останавливаться.
Модель я построила, вот как сделать так чтобы кнопка работала?