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

Блок queue, комбинаторика

27.02.2016, 07:18. Показов 1312. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите пожалуйста. Есть процесс, в блок queue попало одновременно к примеру 4 заявки. В зависимости от того в какой будет последовательности выполнятся заявки, изменится общие затраченное время на них всех. Возможных комбинаций 4! = 24.
Как организовать оптимизацию что бы она использовала одну за другой комбинацию в блоке queue? Целевая функция будет переменная общего затраченного времени на выполнение всех заявок по процессу.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.02.2016, 07:18
Ответы с готовыми решениями:

Разница между finalization queue и freachable queue
Всем привет, все как-то никак не могу понять, в чем разница

Разница между queue.synchronized и concurrent queue
По сути 2 коллекции потокобезопасные, что лучше использовать? Queue que =...

Переполнение Queue, методы оптимизации Queue
Доброго времени суток. Я тут планирую пенгатон взять под контроль.:- StreamReader...

Queue vs Queue.Synchronized vs ConcurrentQueue
Ситуация такова, что один поток постоянно толкает в очередь объекты (Enqueue), а второй забирает...

3
1816 / 1030 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
27.02.2016, 22:54 2
Главный вопрос - точно общее время обслуживания зависит от последовательности обслуживания.
Приоритеты абсолютные, относительные?
Первая заявка встает на обслуживание она ведь может встать на обслуживание вне зависимости от приоритета если относительные приоритеты.

Я бы остановился на абсолютном приоритете.
Создать 4 источника соурс и создавать заявки с различными приоритетами. В качестве приоритета указать один из 4 созданных параметров, в значениях которых указывать приоритет.

Настроить эксперимент оптимизации таким образом, чтобы каждый параметр приоритета изменялся например от 1 до 4.
В результатах оптимизации искать допустимый вариант в котором не повторяются приоритеты 4 заявок.
0
1 / 1 / 1
Регистрация: 19.08.2015
Сообщений: 17
04.03.2016, 08:58  [ТС] 3
Это я к примеру сказал что 4 заявки, их может быть 50, соответственно 50!

Мне нужно тогда перед блоком queue, к примеру блок source, вытащить массив заявок на выходе. Потом перед входом в queue, запихать в нужной мне порядке данный массив. Каким это методом делать я не нашел, подскажите пожалуйста.
0
1816 / 1030 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
04.03.2016, 20:27 4
В самом блоке Source можно установить приход сразу нескольких заявок.

Естественно для того чтобы разделять как-то заявки, делать различное время их обслуживания - нужно задать индивидуальные для них параметры. Нужно применить агентное моделирование.
Сделать заявки - агентами. После этого задать параметры агентов. После этого в блоке Соурс указать что создаются такието агенты (класс) с такимито параметрами. В блоке Очереди настроить выстраивать агентов по приоритету (указать имя параметра и класс обслуживаемых заявок).

Посмотрите литературу Боев например. на оф. сайте anylogic.ru
0
04.03.2016, 20:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.03.2016, 20:27
Помогаю со студенческими работами здесь

Нарисуйте блок-схему реализации метода Queue::Get. Объясните работу метода
Нарисуйте блок-схему реализации метода Queue::Get. Объясните работу метода. Ребя может кто помочь

Error C2664: Client::First: невозможно преобразовать параметр 1 из "std::queue<_Ty>" в "std::queue<_Ty> &"
barbershop.h: #ifndef __BARBERSHOP_H__ #define __BARBERSHOP_H__ #include &lt;vector&gt; #include...

Multiprocessing Queue vs multiprocessing.Manager Queue
Если кому интересно: обычная Queue из мультитпроцессинга имеет ограничение по размеру, если туда...

Queue
Собственно как создать это дело без танцев с бубном.В vb.net сделано попроще Dim myQ = New Queue()...


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

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