Как хранить маршруты в производстве цехов производства в Anylogic - PullRequest
0 голосов
/ 11 февраля 2020

У меня есть производственная модель, в которой ордера (совокупность агентов) работают на разных станциях. Для каждого заказа используемые станции и их последовательность могут быть разными. Существует 12 различных комбинаций этих станций. Заказу должна быть назначена одна случайная возможность.

Как я могу сохранить и назначить эти возможности в моей модели Anylogi c? Какой тип данных подойдет лучше всего?

Я уже пытался использовать интерфейс Excel, но позже я хочу объединить различные возможности в более длинный список (около 50 возможностей в сочетании друг с другом). Excel Кажется, это не лучший способ сделать это.

Я уверен, что это не очень сложная проблема, но я ничего не мог найти по этому поводу. Заранее спасибо!

1 Ответ

0 голосов
/ 12 февраля 2020

Надеюсь, я понимаю ваш вопрос, так что вот оно. Вот модель, которую я предлагаю: Model Structure Здесь в примере 3 станции (службы). Вы помещаете все блоки ввода в коллекцию, называемую enterBlocks, и все имена блоков ввода в коллекцию, называемую enterNames ... поэтому, если вы используете Excel, вы можете иметь в своем Excel имена блоков ввода и инициализировать вашу коллекцию enterNames в начало модели, прочитав Excel. Каждый агент, вероятно, будет иметь свою коллекцию, поэтому коллекция должна находиться внутри агента, но здесь я просто упрощаю.

Затем вы используете счетчик (начальное значение 0) и функцию getNextService, которая будет существовать в каждый из 4 выходных блоков. Эта функция выберет следующую станцию ​​для использования:

if(counter>=enterBlocks.size())//if the agent is done with all the stations
    end.take(agent); // take the agent to the exit
else{
    Enter enter=findFirst(enterBlocks,e>e.getName().equals(enterNames.get(counter)));//find the enter block with the correct name
    enter.take(agent); //take the agent to the correct station
    counter++; //update your counter
}
...