Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- Navigation
- Tecnomatix
- Forums
- Blogs
- Knowledge Bases
- Groups

- Siemens PLM Community
- Tecnomatix
- Plant Simulation
- Insert Paralogistic Distribution in Source

- Start Article
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

Highlighted

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

06-17-2015 08:35 AM

Der Community members,

I would like to set as interarrival time a paralogistic distibution with alpha = 1.8 and theta = 9.6

the list doesn not containg the paralogigic distribution, then how can i achieve this?

Thank you

Solved! Go to Solution.

13 REPLIES 13

Re: Insert Paralogistic Distribution in Source

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

06-17-2015 11:39 AM - edited 06-17-2015 11:44 AM

Select the distribution type "Formula" and enter:

z_paraLogistic(self.RandomSeed, 1.8, 9.6)

*Note*: If you want to keep it simple, and if you want to speed-up the formula a little bit, you can always use the random number stream 1 in all formulas and Methods. So you can just write:

z_paraLogistic(1, 1.8, 9.6)

_________________________________________________________________

Did you like the answer? Then click the Thumbs Up button.

Did the answer solve your problem? Then accept the answer as solution.

Did you like the answer? Then click the Thumbs Up button.

Did the answer solve your problem? Then accept the answer as solution.

Re: Insert Paralogistic Distribution in Source

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

06-17-2015 04:38 PM

thank you for your message.

The formula works and I would like to ask also another question:

The entities can arrive in a batch of 1,2,3,4 or 5 pcs; assuming that in 50% of the cases they arrive as batch of 1 pc and in the other case the probability is the same (50% divided by 4), how can i insert this parameters in the source?

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

06-18-2015 03:33 AM

I uploaded a small example. I do not use a Source object. Instead I use a ParallelProc and create the parts via method. I named the user-defined method "init", so that it will automatically be called in the Init phase. The method will call itself for each batch to generate.

_________________________________________________________________

Did you like the answer? Then click the Thumbs Up button.

Did the answer solve your problem? Then accept the answer as solution.

Did you like the answer? Then click the Thumbs Up button.

Did the answer solve your problem? Then accept the answer as solution.

Re: Insert Paralogistic Distribution in Source

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

06-23-2015 11:47 AM

Dear Michael,

Thank you for youe reply.

I'm finding an issue with this approach:

the distribution is for seconds and i'm trying to transform it in minutes. Basically I multiplied it by 60, but it doesn't work:

self.methCall(z_paraLogistic(1, 1.8, 9.6)*60);

Re: Insert Paralogistic Distribution in Source

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

06-23-2015 12:11 PM

this is the wrong position for the multiplication; try this:

self.methCall(z_paraLogistic(1, 1.8*60, 9.6*60));

Steffen Bangsowfreelance simulation specialist web: www.bangsow.eu mail: steffen@bangsow.net |

Re: Insert Paralogistic Distribution in Source

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

06-23-2015 12:24 PM

Can you just explain me why the number of cases in a uniform(1,2,10) is 8? It should create numbers from 2 to 10 and not from 2 to 9, right?

Re: Insert Paralogistic Distribution in Source

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

06-23-2015 12:33 PM - edited 06-23-2015 12:36 PM

it creates real-values between 2 and 10 (each call results another value); if you store this values into a integer variable, the decimal places get lost, so you will never get 10

look also here:

Steffen Bangsowfreelance simulation specialist web: www.bangsow.eu mail: steffen@bangsow.net |

Re: Insert Paralogistic Distribution in Source

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

06-23-2015 02:32 PM

Many Thanks

Re: Insert Paralogistic Distribution in Source

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

06-24-2015 05:02 AM

I'm experimenting with this method and I would ask for a clarification:

at the beginning we insert a local variable called n

is do -- generate an integer from 2 to 9 (including both 2 and 9) local n: integer := z_uniform(1, 2, 10);

then we set a rule that tranforms values from 6 to 9 in 1

if n > 5 then -- 6, 7, 8 and 9 will become 1 n := 1; -- in 4 of the 8 cases (50% probability) we create 1 MU end;

At this point, we tell the parallelproc to create an entity at the parallelProc location (self.~) and the number to be created is n.

for local i := 1 to n loop .MUs.Entity.create(self.~); next;

Now, suppose i want a different percentages. I want to create a uniform distribution that creates numbers from 1 to 213 and:

if the number created is beetween 1 and 124, it creates 1 entity

if the number created is between 125 and 186, it creates 2 entities

if the number created is between 187 and 203, it creates 3 entities

if the number created is between 204 and 210, it creates 4 entities

if the number created is between 211 and 213, it creates 5 entities

this new method should be:

is do -- generate an integer from 1 to 213 (including both 1 and 213) local n: integer := z_uniform(1, 1, 214); if n < 125 then -- 1-124 will become 1 n := 1; -- in 124 of the 213 cases (58,22% probability) we create 1 MU elseif n > 124 and n <187 then -- 125-186 will become 2 n := 2; -- in 62 of the 213 cases (29,11% probability) we create 2 MUs elseif n > 186 and n < 204 then -- and so on n := 3; elseif n > 203 and n < 211 then n := 4; elseif n > 210 and n < 214 then n := 5; end; for local i := 1 to n loop .MUs.Entity.create(self.~); next; -- call this method again later to create the next batch self.methCall(z_paraLogistic(1, 1.8, 9.6)); end;

Is it right?

Follow Siemens PLM Software

© 2019 Siemens Product Lifecycle Management Software Inc