0 / 0 / 0
Регистрация: 25.10.2015
Сообщений: 18
1

Модель комлектовочного конвейера

23.11.2015, 16:37. Показов 4590. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день
Суть задачи
На комплектовочный конвейер сборочного цеха каждые 5 ± 1 мин поступают 5 изделий первого типа и каждые 20 ± 7 мин поступают 20 изделий второго типа. Конвейер состоит из секций, вмещающих по 10 изделий каждого типа. Комплек-тация начинается только при наличии деталей обоих типов в требуемом количестве и длится 10 мин. При нехватке деталей секция конвейера остается пустой.
Смоделировать работу конвейера сборочного цеха в течение 8 ч. Определить средние и максимальные очереди по каждому типу изделий. Определить экономическую целесообразность перехода на секции по 20 изделий с временем комплектации 20 мин.
Мое решение:
Создаю два класса для двух типов заявок firstType и secondType, ставлю Hold`ы, который блокируют загрузку очереди во время ее заполнения, также после очередей ставлю Hold`ы, которые разблокируются в случае, если обе очереди заполнены десятью изделиями, дабы их выгрузить.
Запускаю, не работает, решение приложил, подскажите пожалуйста, в чем ошибка и правильно ли делаю?
Вложения
Тип файла: rar Комплектовочный контейнер.rar (2.4 Кб, 79 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.11.2015, 16:37
Ответы с готовыми решениями:

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

Модель конвейера комплектирования сборочного цеха
На конвейер комплектования сборочного цеха каждые 5±1 минут поступают 5 деталей первого типа и...

Организация конвейера
Написать программу, выполняющую действия, аналогичные команде ls -l | grep Аргумент | sort (то...

Создание конвейера
Помогите. Правила форума. 5.18 Запрещено размещать задания и решения в виде картинок и других...

11
1816 / 1030 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
24.11.2015, 10:27 2
Вы бы указали версию программы в которой работаете. Сначала пытался открыть в 7.2 ... бесполезное занятие, потом в 6.4.1, оказалось что это ещё более ранняя версия, видимо 5 или ниже, это кривые версии с которыми работать .... не нужно!

В данном случае если смогу помочь то без проекта.

Запускаю, не работает
? Лучше конечно сделать скрины и поподробнее описать не работает !

Добавлено через 1 минуту
Скрины не нужно, 6.4.1 удалось преобразовать схему модели.

Добавлено через 2 минуты
Код
if(entity1type==10 && entity2type==10)unblock()
Дело в следующем. Блок Холд пропускает не все заявки сразу, а по одной, проверяя записанное условие для каждой заявки.
Допустим у вас накопилось 9 заявок в первой очереди и 10 во второй, приходит заявка первого типа тем самым количество заявок в очереди 10 10, эта заявка (последняя) проверяет что может выйти через холд - она выходит, но другие 9 заявок в очереди, они выйти не могут потомучто вышенаписаное условие 10 10 не соблюдается , в очереди уже 9 10.

Код
if(entity1type==0)unblock();if(entity1type==10)block();
Тоже под сомнением, не совсем понимаю что хотите сделать.

Вообще краники (холд) сразу после генераторов имхо плохая затея !!! заявки не могут копиться в генерейт и не могут поступить в холд (если такое возможно), таким образом будет ошибка.
0
0 / 0 / 0
Регистрация: 25.10.2015
Сообщений: 18
24.11.2015, 10:48  [ТС] 3
а каким образом в 5 anylogic еще можно задерживать заявки,если не использовать краники?
0
1816 / 1030 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
24.11.2015, 11:13 4
Даже не знаю про anylogic 5, видел его всего пару раз, желания работать на нём небыло потомучто по сравнению с 7 версией это небо и земля ...

Возможно есть блок который накапливает заявки по 10?! Блок типа batch - который собирает заданное количество заявок в одну целую, а потом можно её разобрать обратно на 10 с помощью блока unbatch. Посмотрите библиотеку блоков.
Может быть есть блок match - который синхронизирует две очереи и по условию может выдавать 10 заявок.

Если вы хотите использовать свою наработку то придётся сделать переменную(ые) которые бы отвечали за уровень счётчика, то есть сначала проверяем очередь 10, потом когда прошла первая заявка - проверяем очередь должна быть <= 9, потом <=8 и так до 0, потом параметр-счётчик устанавливается в 10 снова. Сложность в том что счётчика у вас должно быть 2, кроме этого они должны как-то быть синхронизированы, заявки в различной последовательности наверно выходят из очередей.
0
0 / 0 / 0
Регистрация: 25.10.2015
Сообщений: 18
24.11.2015, 18:28  [ТС] 5
Пробую реализовать ваш совет с загрузкой 10 элементов batch, а затем делать unbatch, в тот момент, когда в обоих контейнерах наберется по 10 заявок, для этого в unbatch изначально блок ставлю, а затем проверяю обе переменные, если в обоих случаях по 10, тогда открываю для переправки в delay.
Такой вопрос.. Почему вылетает ошибка classnotfound? Я должен создать какой-то доп класс для запуска? И еще вопрос по поводу capacity в butch я указал 10 - это размер контейнера? Решение все также на anylogic 5... Спасибо, что ответили...
Вложения
Тип файла: rar Комплектовочный контейнер.rar (2.2 Кб, 33 просмотров)
0
1816 / 1030 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
24.11.2015, 18:41 6
Думаю что в пятой версии anylogic справка была не чуть не хуже чем сейчас, для того уровня развития системы, посмотрите в справке документацию по блоку батч.

class не найден, не знаю к чему эта ошибка?! Может не указали элементы какого класса собираете, или собираете заявки различных классов?!
0
0 / 0 / 0
Регистрация: 25.10.2015
Сообщений: 18
24.11.2015, 19:31  [ТС] 7
убрал разные классы заявок, сделал общий entity.class везде , ничего не поменялось - та же ошибка....
0
1816 / 1030 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
24.11.2015, 20:03 8
спрашивайте преподавателя кто вас заставляет работать в убогой без преувеличения версии 5 (это признают и сами разработчики), это пережиток прошлого!!! Почему вы зациклены на этом, сделайне на 7.0.2 Professional - сделайте exe файл и показывайте преподавателю модель как приложение.
0
0 / 0 / 0
Регистрация: 25.10.2015
Сообщений: 18
24.11.2015, 23:43  [ТС] 9
скачал anylogic 7 с их сайта, начал делать модель , только как здесь добавить метки для подсчета?
Вложения
Тип файла: rar ргр1.rar (4.6 Кб, 17 просмотров)
0
1816 / 1030 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
25.11.2015, 07:25 10
Метки для подсчёта чего? просто параметры добавить, в блоках модели по входу/выходу изменять счётчики
в 7ой версии есть блок - типа 2е очереди (match или что-то подобное) - синхронизирует очереди, возможно это то что нужно?!
0
0 / 0 / 0
Регистрация: 25.10.2015
Сообщений: 18
25.11.2015, 17:28  [ТС] 11
Cделал вот так, но как-то работает не так как предполагается. Идея в том, что закидывать в батчи элементы с того момента как оба обнуляются и скидывать из них когда ОБА наполнятся..... В чем ошибка?
Вложения
Тип файла: rar ргр1.rar (9.7 Кб, 75 просмотров)
0
1816 / 1030 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
26.11.2015, 08:00 12
Вот так вот мне видится ваша схема
source-batch-match-unbatch-...обработка партий...-sink
Модель комлектовочного конвейера
0
26.11.2015, 08:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.11.2015, 08:00
Помогаю со студенческими работами здесь

Регулирование ширины конвейера
Здравствуйте, нужно сделать автоматическое регулирование ширины конвейера...

Алгоритм работы конвейера.
Всем привет. Вот хотел спросить по какому принципу можно решить данную задачу? Задача: Есть 10...

Использование конвейера команд
Построить параллельный вычислительный конвейер для расчета выражения y = a * b - c * d - e * f + g...

Визуализация ленты конвейера
Доброго времени суток! Нужна помощь в написании Кода и примера визуализации... Помогите написать...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

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