+ Ответить в теме
Страница 2 из 2
ПерваяПервая 1 2
Показано с 11 по 18 из 18

Тема: Имитационное моделирование

  1. #11
    dummy
    coder
    alexander.spb is an unknown quantity at this point
    Регистрация
    24.03.2009
    Адрес
    St.Petersburg
    Возраст
    52
    Сообщений
    22
    Вес репутации
    0

    По умолчанию Re: Имитационное моделирование

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

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

    спасибо!
    Делается "руками", и делается не сложно.
    Если использовать объектно-ориентированный язык, то мир сводится к взаимодействию объектов-шлюзов и объектов-судов.
    Необходимо также создать генератор объектов-судов, интервал между генерациями лучше распределить по нормальному закону. Параметры генерации - направление движения, скорость и приоритет.
    Шлюзы можно представить как массив целых чисел. Число = кол-ву суден в нем. Параметры шлюза - его длина, время открытия / закрытия.

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

    Чтобы получить видимость практической ценности, считаем, например, минимальный интервал между генерациями новых судов, или максимальное кол-во шлюзов, при котором система не "захлебывается" (то есть продолжается перемещение судов).

  2. По умолчанию

     
    Хотите избавиться от рекламы? Зарегистрируйтесь
  3. #12
    dummy Rita_R is on a distinguished road
    Регистрация
    17.03.2009
    Сообщений
    3
    Вес репутации
    0

    По умолчанию Re: Имитационное моделирование

    Запускала программу на GPSS 50 раз и все время получала идентичные результаты (макс.очередь, абсолютное время модели..). Почему, ведь время генерирования транзактов и их обработки заданы временными интервалами, а не конкретными числами?


    GENERATE 5,3
    QUEUE RITA
    SEIZE TT
    DEPART RITA
    ADVANCE 8,3
    RELEASE TT
    TERMINATE 1

    GENERATE 100
    TERMINATE

    START 10


    Можно ли утверждать, что каждый отчет правильный?

  4. #13
    dummy
    coder
    alexander.spb is an unknown quantity at this point
    Регистрация
    24.03.2009
    Адрес
    St.Petersburg
    Возраст
    52
    Сообщений
    22
    Вес репутации
    0

    По умолчанию Re: Имитационное моделирование

    генераторы случайных чисел в GPSS превдо-случайные, поэтому результаты должны быть одинаковы.

  5. #14
    Super Moderator system architect Naeel Maqsudov is a jewel in the rough Naeel Maqsudov is a jewel in the rough Naeel Maqsudov is a jewel in the rough Аватар для Naeel Maqsudov
    Регистрация
    20.02.2004
    Адрес
    Moscow, Russia
    Возраст
    45
    Сообщений
    2,551
    Вес репутации
    22

    По умолчанию Re: Имитационное моделирование

    Там же было что-то типа RANDOMIZE...
    Не помню уже...

  6. #15
    dummy
    coder
    alexander.spb is an unknown quantity at this point
    Регистрация
    24.03.2009
    Адрес
    St.Petersburg
    Возраст
    52
    Сообщений
    22
    Вес репутации
    0

    По умолчанию Re: Имитационное моделирование

    я нашел статеечку про датчики GPSS:
    http://venec.ulstu.ru/lib/2002/1/Evseeva_Shishkin.pdf

    Цитата:
    Необходимо учитывать, что в GPSS имеются восемь датчиков
    равномерно распределенных псевдослучайных чисел, у каждого из
    которых есть свое имя: RN1, RN2,..., RN8. Имена датчиков
    являются стандартными числовыми атрибутами (СЧА), которые
    используются для получения псевдослучайных чисел с другими
    распределениями. При i-м обращении к любому из датчиков
    вычисляется произведение a(k)*Х(i-1), где k - индекс, который с
    равной вероятностью принимает значения 0,1,2,...,7; a(k) - ядро; X(i-
    1) - значение множителя, которое получено при предыдущем
    обращении к датчику. Если i=1, то X(i-1)=X(0) - начальное значение
    множителя X(i).
    Дробные числа датчик выдает, если его имя используется в ка-
    честве аргумента функции. При использовании датчика в любом
    другом контексте выдаются целые числа, распределенные
    равномерно в интервале [0,999]. У всех восьми датчиков начальное
    значение индекса k=0, а начальное значение множителя X(0)=1.
    Поэтому все датчики формируют совершенно одинаковые
    псевдослучайные последовательности. Однако пользователь
    может изменить последовательность псевдослучайных чисел путем
    изменения начального значения X(0) множителя. Такую
    возможность обеспечивает команда RMULT (УСТАНОВИТЬ
    ЗНАЧЕНИЯ ДАТЧИКОВ), имеющая восемь операндов от A до H,
    которые используются для записи начальных значений множителя
    соответственно 1-8 датчиков. Так, например,
    RMULT 325,14159,,8677
    устанавливает начальное значения множителей датчиков RN1, RN2
    и RN4 соответственно равными 325,14159,8677. Начальные
    значения множителей, задаваемых в RMULT, должны быть
    нечетными и иметь от одного до пяти разрядов.

  7. #16
    Beginner is on a distinguished road
    Регистрация
    04.08.2017
    Сообщений
    2
    Вес репутации
    0

    По умолчанию Re: Имитационное моделирование

    Цитата Сообщение от OTELLO Посмотреть сообщение
    спасибо, но к сожалению мне надо полностью запрограммировать это именно в средах дельфи, си или вообще на Vba в экселе... вот я и теряюсь...
    Для Дельфи и Лазаруса есть абслолютно бесплатная библиотека для имитационного моделирования с открытым исходным кодом - OpenSIMPLY.
    Очень простая для начинающих, с обучающими примерами (Tutorial), где буквально шаг за шагом объясняется как быстро создать собственную модель.
    Для библиотеки есть подробная документация и всплывающие подсказки (Insight help) для Delphi и Lazarus.
    Загрузить можно осюда opensimply.org или с sourceforge.

  8. #17
    system architect somewhere will become famous soon enough somewhere will become famous soon enough Аватар для somewhere
    Регистрация
    31.08.2006
    Адрес
    71 RUS
    Возраст
    35
    Сообщений
    1,837
    Вес репутации
    16

    По умолчанию Re: Имитационное моделирование

    Эта задача имеет целью научить вас моделировать процессы, изучить поведение объектов и используя логику и аналитическое мышление написать алгоритм управления.
    Я не думаю, что преподавателя устроит тот факт, что вы найдете подобную библиотеку для дельфы или мощное и универсальное приложение для моделирования процессов. Так вы программистами не станете.
    It's a long way to the top if you wanna rock'n'roll

  9. #18
    Banned coder Evgenii32 is on a distinguished road
    Регистрация
    14.09.2017
    Сообщений
    20
    Вес репутации
    0

    По умолчанию Re: Имитационное моделирование

    Воспользуйтесь системой GPSS. Она хоть и древняя, но лично я для себя, ничего лучше так и не нашел.

+ Ответить в теме
Страница 2 из 2
ПерваяПервая 1 2

Похожие темы

  1. программист с++ моделирование физ. процессов (1500$-2200$) москва
    Программист С++ моделирование физ. процессов (1500$-2200$) Город: Москва Требования: 1) Высшее образование (желательно...
    от youth в разделе Вакансии и заказы для программистов
  2. Моделирование иерархии
    Есть ли прога для создания иерархии и генерации из нее кода на Си++?
    от RomaRS в разделе C и C++

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения