[plt-scheme] Simulation : coupling sub-processes

From: Kimberly Clark/Mike Messinides (vishmess at yahoo.com)
Date: Sat Mar 11 16:54:38 EST 2006

> Attached is your code reformatted - it looks like
> some carriage returns got
> misplaced in the e-mail.  It does run, but with the
> arrival values (about
> every six units) and processing time taking at least
> 30 units, it pretty
> quickly reaches 100% utilization of the conveyer. 
> But I assume you are
> interested in how to construct the flow within the
> model and the numbers
> will be fixed later.

Yes, the values are not right. I just wanted to see if
my use of resources was working by overloading the

> One simple thing is that you don't need the
> conv-set.  It just matches what
> the resource is doing and you can just use
> (resource-satisfied-variable-n
> conv).  [You can define a variable equal to it if
> you don't want to type it
> a lot.]

The conv-set did seem redundant to the resource, but I
wasn't sure how to get the conveyor utilization from
the resource. Thanks for this tip.

> If you send me a description of the system you are
> wanting to model, I can
> take a quick cut at it.  

The entire system encompasses 4 wrapping lines
(similar to what I've started to code in my demo) each
of which discharges to a sorting system. Each sorting
system is composed of multiple parallel conveyor
lanes. The sorting is done based on a number of
criteria, and I envisioned creating a struct to
contain these, which would be passed through the model
in place of the integer that I used in the demo. Each
sorting lane can discharge when a pre-determined
number of units is contained in the lane. I was
thinking of coding a function to describe a single
sort lane, and then using this from a sort system
function which would have a pre-defined number of
lanes to use.

Each of the sorting systems discharge onto a single
common conveyor, but this conveyor can be operated in
a flexible way. For example sorting system 1 can
discharge in one direction while the remaining three
discharge in the other direction. Or the split can be
done with sorting system 1 and 2 going one way while 3
and 4 go the other way. The requirement for the two
directions is to feed two grouping sub-processes which
will gather a pre-determined number of units into
larger units. I was thinking of creating functions to
model the zones of the flexible conveyor (with a zone
function to represent the discharge of each sort
system) and then I would be able to couple the zones
to represent the different flow scenarios.

This may be more work than you were thinking of when
you made your kind offer. Please feel free to just
give me some pointers if it's too much.

> In particular, is the set
> of subprocesses fixed?
I was going to keep the number and configuration of
sub-processes fixed initially, but once I had the
model working I was thinking I would like to be able
to change the model dynamically during the run,
perhaps developing a controller process that would
redirect flow based on simulated failures of
equipment. But I think I can get a lot of mileage out
of the model without this.

> And thanks for the interest in using the packages.

You're welcome, and thanks for your help. 

Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 

Posted on the users mailing list.